tôi bắt đầu vòng lặpJavascript - Không thể điều chỉnh FrameRate - requestanimationframe
function gameLoop(){
update();
draw();
requestAnimFrame(gameLoop);
}
var requestAnimFrame = window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback) {
window.setTimeout(callback, 1000/1);
};
- tôi không thể điều chỉnh tỷ lệ khung hình. Nó luôn luôn rất nhanh. Tại sao tôi không thể thay đổi nó thành 1 khung hình một giây. Tôi muốn làm điều này chỉ cho mục đích thử nghiệm.
- Tôi có phải xóa canvas mỗi lần không? Dường như nó hoạt động tốt mà không làm sạch nó.
Cảm ơn.
Đây là một liên kết đến một fiddle cho mã hoàn chỉnh: complete code
Cảm ơn
Âm thanh rất hợp lý và thông minh. – nerkn
bạn không nên hoán đổi setTimeout và requestAnimationFrame bằng cách nào đó? Trong ví dụ của bạn, cập nhật và vẽ được gọi tại sự kiện setTimeout, vẫn không đồng bộ trong khi phần gameloop() được đồng bộ hóa (nhưng không có gì ngoài việc đặt thời gian chờ) –
@DanielAlder. Mã này là một vài năm tuổi và bây giờ 'requestAnimationFrame' tự động gửi trong một dấu thời gian để' setTimeout' không còn cần thiết nữa. Sử dụng dấu thời gian để điều chỉnh hoạt ảnh. – markE