我不太确定,但我猜我的问题与我如何宣布我的变量有关。
以下代码在AS3中是否合法?
var fish1:Fish = new Fish;
var fish2:Fish = new Fish;
var fish3:Fish = new Fish;
var fish4:Fish = new Fish;
addChild(fish1);
addChild(fish2);
addChild(fish3);
addChild(fish4);
fish1.x = 0;
fish2.x = 150;
fish3.x = 300;
fish4.x = 450;
我为addChild的每一行收到编译错误:
Main.as,第14行1180:调用可能未定义的方法addChild。 Main.as,Line 14 1120:访问未定义的属性fish3。
并且我正在指定我的鱼的x坐标的每一行 编译错误说
Main.as,第15行1120:访问未定义的属性fish4。
fish变量属于Fish类型,我在我的.fla文件中定义了它们。 先谢谢你了!
答案 0 :(得分:1)
你的类需要子类化某种形式的DisplayObjectContainer,其中MovieClip和Sprite是两种可能的选择(找出,确定)。
但我怀疑真正的探索是你正在编写类代码,就像它的时间轴代码一样。我认为你可能有严格的模式关闭,这就是为什么你得到有用的编译时错误,这将有助于任何熟悉AS3(虽然可能不是你)的人立即弄清楚你的代码看起来应该更像
class Main extends Sprite { public var fish1:Fish = new Fish(); public var fish2:Fish = new Fish(); public var fish1:Fish = new Fish(); public function Main() { addChild(fish1); addChild(fish2); addChild(fish3); //not going to type this crap. //positioning code (and addChild) is a waste of time. //that's what the stage is for! } }