【发布时间】:2014-06-14 21:25:05
【问题描述】:
我有一个我一直在搞乱的 jsFiddle,试图让我的小游戏通过类等变得更有条理,但是当我请求动画帧时,传入对象(每个帧都有一些功能每个对象),我得到一个最大调用堆栈大小错误。如何在不放弃课程的情况下解决此问题?
jsFiddle: http://jsfiddle.net/Blawkbuilder/Q5U3X/109/
我怀疑是罪魁祸首的台词:
window.requestAnimationFrame(draw(p1,p2));
但控制台链接到的行出现在 jquery 的某处:
} else if ( !rhtml.test( elem ) ) {
修复?我对 javascript 有点陌生。
(如果需要,这里是以前的,不是基于类的版本,它仍然可以按照我想要的方式运行) http://jsfiddle.net/Blawkbuilder/9hmca/131/
【问题讨论】:
-
嗯,您的第一个问题是
requestAnimationFrame将函数作为参数,但您传入的是调用 函数的结果。让我看看这是否是整个问题。 -
正如 Intredasting 所说,您没有将
draw作为requestAnimationFrame的回调传递,但您直接调用它并且因为这条线在draw本身内部,所以您有一个无休止的递归调用,导致给定的错误。 -
是的,这绝对是整个问题。我会添加它作为答案。
标签: javascript jquery animation canvas requestanimationframe