У меня есть несколько классов, которые реализуют интерфейс, но также расширяют класс Sprite:
package {
public interface IState {
function addMonster():void;
}
}
package {
public class Fuzzy extends Sprite implements IState {
public function addMonster():void {
}
}
}
package {
public class LizardSkin extends Sprite implements IState {
public function addMonster():void {
}
}
}
// Document class
package {
public class Main extends MovieClip {
private var state:IState;
public function Main():void {
state = new Fuzzy();
addChild(state);
}
}
}
Когда я пытаюсь добавить addChild (состояние), я получаю сообщение об ошибке 1067: неявное приведение значения типа IState к несвязанному типу flash.display: DisplayObject.
Теперь я знаю, что видел примеры, когда класс расширяет MovieClip / Sprite и реализует интерфейс ... что я могу сделать, чтобы сделать его таким, чтобы я мог добавлять «состояние» на сцену, но также реализовывать нужные мне методы?