我有太空飞船 movieclip
,里面有movieclip
炮塔。
Spaceship extends
Unit class
,我想要旋转炮塔。
在我的Spaceship constructor
中,我使用super(this.turret);
,但这总是返回null
。
传递其他变量是有效的,在调用super()
之前,我可以成功追踪this.turret
那为什么我不能把它传给超级?我该如何解决这个问题?
[编辑] 当调用super()时,它可能与炮塔不可用/添加到舞台有关吗?如果是这样,我怎么能处理这个问题并将其变为“单位”呢?
答案 0 :(得分:0)
当您将turret
传递到constructor
时,您只会使用该实例名称传递对MovieClip
的引用。 Unit constructor
对参数做了什么?我想你的Unit
类不应该有炮塔变量。
更新1:
public class SpaceShip extends Unit
{
public var turret : MovieClip;
public function SpaceShip()
{
super();
}
}
// Access from other class where ship has been referenced
public class Test extends Sprite
{
public var ship : SpaceShip;
public function ship()
{
// access the public variable (reference) turrent
ship.turrent.rotation += 25;
}
}