在尝试实例化Movie Clip时调用可能未定义的方法

时间:2011-11-16 00:51:35

标签: flash actionscript-3 movieclip

好的,所以我在电影剪辑中有一堆简单的形状......

然而,我的“水平”各自都在他们自己的影片剪辑中......

有时在关卡中我必须动态实例化这些随机影片剪辑并创建多个实例,所以生病了就像

//this up top
var hexagonOne:hexagonOne;


//then this when i need a new one, i need to do it like this so i can make multiple instances...
hexagonOne = new hexagonOne(); 

这很棒......但是......

现在在我的“二级”电影剪辑中的另一个影片剪辑

我确实采用了同样精确的代码,这在第一级工作......但现在它不适用于其他影片剪辑......

每当我尝试hexagonOne = new hexagonOne();或尝试实例化的其他形状影片剪辑时,我都会收到此错误。

Symbol 'lvl1-2', Layer 'Layer 2', Frame 1, Line 99  1180: Call to a possibly undefined method hexagonOne.

我不明白,因为它在其他影片剪辑中工作得很好,就像这个......这没有任何意义。

编辑: 想通了,我的结局是愚蠢的错字。

1 个答案:

答案 0 :(得分:1)

如果您的库中有一个名为“hexagonOne”的AS Linkage的符号,这是有道理的:

var hexagonOne:hexagonOne;
hexagonOne = new hexagonOne();

从时间轴,您定义一个局部变量hexagonOne并使用类型hexagonOne实例化该实例。

如果您没有在不同的范围内定义变量var hexagonOne,那么它是未知的。

对于初学者来说,将符号的命名约定定义为HexagonOne可能会有所帮助,然后骆驼就像你的变量一样。

var hexagonOne:HexagonOne;
hexagonOne = new HexagonOne();

如果每个级别的MovieClip需要添加一个hexagonOne对象,则每个对象都应定义var hexagonOne:hexagonOne并使用new关键字对其进行实例化。

如果这没有用,或许你应该更多地引用你试图用你的libary / class / code实现的具体内容来完成的事情。