【发布时间】:2014-10-10 04:55:37
【问题描述】:
我目前正在使用 CreateJS 套件开发 HTML5/JavaScript 游戏,它在浏览器中运行良好。 我现在正在尝试修改它,以便它可以作为 PhoneGap 应用程序工作。到目前为止,我已经设法解决了所有问题。除了股票代码。基本上,我有一个初始化函数来填充我的 LoadQueue,它在加载时调用 handleComplete。在handleComplete函数的最后,我设置了:
createjs.Ticker.addEventListener("tick", this.tick);
createjs.Ticker.setFPS(gameFPS);
但是当我运行时,我在控制台中得到了这个:
Uncaught TypeError: Cannot read property 'handleEvent' of undefined
我认为这可能只是范围问题,但是当我将此代码放在函数或 app 变量之外的任何位置时,我仍然会遇到相同的错误。我一直在寻找解决方案,但没有什么具体的。我确保在调用之前声明/定义所有事件处理程序,我尝试从 .addEventListener 更改为 .on
使用 jQuery 的 $() 包装器可以解决这个问题吗?我不是一个经验丰富的 JavaScript 程序员,尽管我能够在没有太多帮助的情况下解决大多数问题;我想我可能只是在这里超出了我的深度。
欢迎提出任何建议。字面上的任何东西。
谢谢!!!
编辑: 我尝试将 addEventListener 行更改为:
createjs.Ticker.on("tick", createjs.proxy(this.tick));
现在,它通过了加载,将我的所有对象绘制到画布上,但现在它给了我:
Uncaught TypeError: Cannot call method 'apply' of undefined create.js:14
所以它只是一个范围的问题,它只是不断失去对 createjs 的跟踪?
【问题讨论】:
-
另外,所有其他 createjs.***** 的东西都有效,因为我的进度条在加载阶段被绘制到屏幕上。但是一旦代码被调用,它就会捕获错误
标签: javascript jquery cordova createjs