开发者

AS3 pass MovieClip to super

I have a Spaceship movieclip, with a movieclip Turret inside.

Spaceship extends the Unit class, where I want to rotate the Turret.

In my Spaceship constructor, I use super(this.turret); but this always returns null.

Passing other variables works, and before calling super(), I can successfully trace this.turret

So why can't I pass it to super? And how can I fix this?

[edit] Perhaps it has something 开发者_StackOverflowto do with the turret not being available/added to stage yet when super() is called? If so, how could I deal with that and get it "Unit" anyways?


When you pass turret into the constructor you are only passing a reference to the MovieClip with that instance name. What does the Unit constructor do with the parameter? I guess that your Unit class are not supposed to have a turret variable.

UPDATE 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;
    }

}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜