2

我正在尝试将关于结合 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。

4

2 回答 2

1

试试你的数组的类型private actors:TYPE[] = [];在哪里TYPE,例如字符串数组private actors:string[] = [];

这似乎对我有用。

如果不是,那么可能会发布更多代码 - 我无法从您发布的链接中将您的 .ts 文件显示在源代码视图中,而且我无法判断页面中的哪个(几个)脚本问题是。

于 2012-10-28T14:05:27.990 回答
1

好的,所以问题在于它不是actorObject作为方法调用,而是将其创建为对象:new Box2d.actorObject

我刚刚制作的是它自己的一类,现在一切都很漂亮。

于 2012-10-28T17:42:42.760 回答