使用SWC时冲突的继承定义

时间:2013-04-17 11:34:15

标签: actionscript-3 flash swc

我使用的是Flash CS6,而且我被继承的定义所困扰。

假设我有一个名为Button的类,例如:

public class Button extends MovieClip
{
    public var _text : TextField;
}

在图书馆中,我想创建一个MovieClip符号,将其导出到actionscript并设置' class' to' ButtonSkinned'和基类#39;到了按钮'在这个MovieClip符号中,我放了一个名为' _text'的文本字段。在舞台上。

这是定义自定义MovieClip并进行蒙皮的传统方式,我是对吗?

出现了问题:

如果我使用班级'按钮'通过将它添加到我的类路径,一切都很好。

如果我将此类预编译为SWC文件并将其添加为外部库。当我导出SWF时,Flash CS6会抛出错误:

Symbol 'ButtonSkinned' A conflict exists with inherited definition MyPackage:Button._text in namespace public.

我当然已禁用“自动声明舞台实例”#39;。我不知道如何摆脱这个错误。关于这个的任何解决方案?

2 个答案:

答案 0 :(得分:0)

如果要使用公共变量扩展非动态类,则不需要重新声明它们,是的,在这种情况下,您甚至无法重新定义这样的变量。 “受保护”和“公共”变量可用于超类和子类。简而言之,不要在public var _text类中声明ButtonSkinnedButton中的定义就足够了。

答案 1 :(得分:0)

我找到了相同的案例并在这里散步:http://forums.adobe.com/thread/198821

四处走动的关键是手动编写视觉符号关联的类代码而不是Flash自动生成。为了更容易使用JSFL脚本自动编写类代码将非常有用。