未捕获的RangeError:最大调用堆栈大小超出了canvas requestAnimFrame

时间:2012-08-12 00:28:48

标签: javascript html5 canvas

我目前正在开发一个javascript画布2D游戏引擎,我遇到了一些关于requestAnimFrame的问题。 在我看来,我正确地做到了,但一段时间后我得到以下错误(Uncaught RangeError: Maximum call stack size exceeded)

您可以在此处查看来源:http://snipt.org/vxij1

1 个答案:

答案 0 :(得分:1)

我的猜测是这一行:

requestAnimFrame(this.mainGameLoop());

应该是这样的:

var self = this;
requestAnimFrame(function() {self.mainGameLoop()});

以便稍后调用您的回调作为回调,而不是立即执行。