У меня проблема с использованием класса, который я создал в качестве базового класса для библиотечных символов:
Я создал класс AvSkin
, который будет действовать как отображение для экземпляра AvChild
. Это выглядит так:
package avian.environment.skins
{
import flash.display.DisplayObject;
/**
* @author Marty Wallace
* @version 1.0.0
*/
public class AvSkin extends DisplayObject
{
/**
* Getters
*/
public function get top():Number{ return y - height/2; }
public function get left():Number{ return x - width/2; }
public function get bottom():Number{ return y + height/2; }
public function get right():Number{ return x + width/2; }
}
}
Очевидно, что это мало что делает, но дело в том, что я могу добавить к нему позже (то есть, метод render()
).
Проблема в том, что это расширяет DisplayObject
(чтобы я мог сделать скин TextField
, SimpleButton
, Shape
и т. Д.), А не MovieClip
, он выдает эту ошибку, если я установил его как базовый класс для символа библиотеки:
5000: Класс
'avian.environment.skins.AvSkin' должен
подкласс 'flash.display.MovieClip'
так как он связан с символом библиотеки
этого типа.
Есть ли способ обойти это? Я не хочу выполнить одно из следующих действий:
- Сделать
AvSkin
расширить MovieClip
.
- Создать класс для моего библиотечного символа, который расширяет
AvSkin
.
См. здесь для подробного представления о том, что расширяет DisplayObject , что может помочь обосновать обоснование моего вопроса.