javascript - TypeScript 转换为 js 错误
我正在尝试将关于将 createjs 和 box 2d 结合使用的《奢华动物》教程转换为 Typescript。到目前为止,我制造的混乱似乎正在起作用。但现在我在这一行上遇到 Uncaught TypeError: Cannot call method 'push' of undefined 错误:
this.actors.push(this);
但是 actors 在 .ts 文件中被定义为 private actors=[];。我已经尝试了很多方法,但都不行。有人知道发生了什么吗?
app.ts => http://paste.laravel.com/8HM default.html => http://paste.laravel.com/8HN
使用 VS 2012。
答案#1
尝试使用 private actors:TYPE[]=[];,其中 TYPE 是你的数组类型,例如,对于字符串数组使用 private actors:string[]=[];
这似乎对我有用。
如果没有,那么也许可以再贴一些代码——我无法通过你发布的链接在源码视图中查看你的 .ts 文件,而且我也无法判断页面中的(几个)脚本中哪个是你遇到问题的。
答案#2
好的,所以问题在于它不是将 actorObject 作为方法调用,而是将其作为对象创建:new Box2d.actorObject。
我刚把它做成了一个独立的类别,现在看起来漂亮多了。