requestAnimationFrame
window
正しく機能するには、のコンテキストが必要です。
呼び出しを次のように書き直すことができます。
game.requestAnimFrame.call(win, game.run);
期待どおりに機能します。
あなたが遭遇したエラーは、そのコンテキスト( )がであるとrequestAnimationFrame
期待しているためですが、代わりにそのコンテキストはでした。this
window
game
http://jsfiddle.net/ZbhQY/5/
requestAnimFrame
または、ゲッターを次のように書き直すこともできます。
game.requestAnimFrame = (function() {
var rAF = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame ||
function(callback) {
window.setTimeout(callback, 1000 / 60);
};
return function(callback){
rAF.call(window, callback);
};
})();
これにより、game.requestAnimFrame(game.run)
期待どおりに電話をかけることができます。