AS3 передать MovieClip супер - PullRequest
       19

AS3 передать MovieClip супер

0 голосов
/ 11 октября 2011

У меня есть Космический корабль movieclip, с movieclip Башней внутри.

Spaceship extends Unit class, где я хочу повернуть турель.

В моем Spaceship constructor я использую super(this.turret);, но это всегда возвращает null.

Передача других переменных работает, и перед вызовом super() я могу успешно отследить this.turret

Так почему я не могу передать это супер? И как я могу это исправить?

[править] Возможно, это как-то связано с тем, что турель еще не доступна / не добавлена ​​на сцену, когда вызывается super ()? Если так, как я мог справиться с этим и получить это "Единица" в любом случае?

1 Ответ

0 голосов
/ 11 октября 2011

Когда вы передаете 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;
    }

}
...