我使用的是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;。我不知道如何摆脱这个错误。关于这个的任何解决方案?
答案 0 :(得分:0)
如果要使用公共变量扩展非动态类,则不需要重新声明它们,是的,在这种情况下,您甚至无法重新定义这样的变量。 “受保护”和“公共”变量可用于超类和子类。简而言之,不要在public var _text
类中声明ButtonSkinned
,Button
中的定义就足够了。
答案 1 :(得分:0)
我找到了相同的案例并在这里散步:http://forums.adobe.com/thread/198821
四处走动的关键是手动编写视觉符号关联的类代码而不是Flash自动生成。为了更容易使用JSFL脚本自动编写类代码将非常有用。