flash – 1152:在命名空间public中继承的定义存在冲突
我有一个与类BGClass相关联的动作脚本3库项“BG”. BG包含一个具有实例名称“bg”的Sprite,同样BGClass也有一个public bg属性.所以班级看起来像这样:
public class BGCass extends Base { public var bg:Sprite; public function BGCass() { bg.width = 200 } } 一切都很好.但是如果我希望将public bg移动到Base类中,我会收到错误. public class BGCass extends Base { public function BGCass() { bg.width = 200 } } public class Base extends Sprite { public var bg:Sprite; public function Base() { } } 我已经尝试在Base中使用getter setter并在BGClass中覆盖它们,我仍然收到错误.这是Flash中的错误吗?有没有一个干净的解决方案,还是需要创建一些代理变量来最终得到bg到Base?我知道在Flash中关闭“自动声明舞台实例”将会摆脱错误,但是我需要保持设计者的身份.任何解决方案? 解决方法
你有几个选择.
>将您的“bg”变量或“bg”阶段实例重命名为其他内容,使其不匹配. 如果你用选项2去,我相信,如果你把这个名字保持一致,那么这个变量将被自动填入一个对stage实例的引用. 一些背景:当您创建一个带有基类的库项目时,Flash会在幕后创建一个新类,该类扩展了您选择的类.默认情况下,Flash配置为向该类提供与创建环境中放置在MovieClip中的子项相匹配的一组成员变量. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |