加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flash – 1152:在命名空间public中继承的定义存在冲突

发布时间:2020-12-15 07:30:39 所属栏目:百科 来源:网络整理
导读:我有一个与类BGClass相关联的动作脚本3库项“BG”. BG包含一个具有实例名称“bg”的Sprite,同样BGClass也有一个public bg属性.所以班级看起来像这样: public class BGCass extends Base { public var bg:Sprite; public function BGCass() { bg.width = 200
我有一个与类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”阶段实例重命名为其他内容,使其不匹配.
>如果你去文件>发布设置…> Flash选项卡,然后点击Actionscript 3.0旁边的“设置…”按钮,您将看到默认情况下已选中“自动声明舞台实例”的选项.如果您禁用此选项,您将看到的错误将消失,尽管您可能会看到其他错误弹出.

如果你用选项2去,我相信,如果你把这个名字保持一致,那么这个变量将被自动填入一个对stage实例的引用.

一些背景:当您创建一个带有基类的库项目时,Flash会在幕后创建一个新类,该类扩展了您选择的类.默认情况下,Flash配置为向该类提供与创建环境中放置在MovieClip中的子项相匹配的一组成员变量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读