我在使用我创建的类作为库符号的基类时遇到问题:
我创建了一个类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
(以便我可以使皮肤 a TextField
、SimpleButton
、Shape
等)而不是MovieClip
,所以如果我将其设置为库符号的基类,它会引发此错误:
5000:类“avian.environment.skins.AvSkin”必须是“flash.display.MovieClip”的子类,因为它链接到该类型的库符号。
有没有解决的办法?我不想做以下任何一个:
- 使
AvSkin
扩展MovieClip
。 - 为我的扩展库符号创建一个类
AvSkin
。
有关扩展 DisplayObject 的详细说明,请参见此处,这可能有助于支持我的问题背后的推理。