mirror of
https://github.com/wassname/GarageServer.IO.git
synced 2026-06-27 16:10:34 +08:00
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
window.GameLoop = (function (window) {
|
|
var requestAnimFrame = (function () {
|
|
return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function (callback) { window.setTimeout(callback, 1000/60); };
|
|
})(),
|
|
_currentTime = new Date().getTime(),
|
|
_accumulator = 0.0,
|
|
|
|
start = function (renderCallback, updateCallback) {
|
|
loop();
|
|
|
|
function loop () {
|
|
requestAnimFrame(loop);
|
|
|
|
var newTime = new Date().getTime(), frameTime = newTime - _currentTime;
|
|
if (frameTime > 250) {
|
|
frameTime = 250;
|
|
}
|
|
_currentTime = newTime;
|
|
_accumulator += frameTime;
|
|
|
|
while (_accumulator >= 15) {
|
|
updateCallback();
|
|
_accumulator -= 15;
|
|
}
|
|
|
|
renderCallback();
|
|
}
|
|
};
|
|
|
|
return {
|
|
start: start
|
|
};
|
|
}) (window); |