【问题标题】:How to access a displayobject on stage in a class that is not a document class如何在不是文档类的类中访问舞台上的显示对象
【发布时间】:2012-03-07 05:38:39
【问题描述】:

如何在非文档类的类中访问舞台上的显示对象?

我正在寻找一种不涉及将阶段作为参数传递给类的解决方案。

我经常遇到的一个解决方案是使用“TopLevel.as”。这是一个好方法吗,因为据我所知使用global variables is not recommended 因为它可能会在处理大型项目时引起一些问题。

【问题讨论】:

    标签: actionscript-3


    【解决方案1】:

    所有显示对象在添加到显示列表时都会调度一个 addedToStage 事件,它为您提供对舞台的引用。所以你可以这样做:

    // In the constructor
    addEventListener(Event.ADDED_TO_STAGE, onAdded);
    
    // A class level function
    private function onAdded(e:Event):void {
        // get reference from stage, eg:
        // stage.getChildByName("nameHere");
    }
    

    不需要使用依赖全局(即:静态)属性的“顶级”类。

    【讨论】:

    • 对不起,我不明白这个方法你能推荐任何使用这种方法的教程或例子吗?
    • TopLevel.as 有一个例子。
    • 你的意思是说我们可以使用TopLevel.as来扩展文档类,并使用TopLevel的静态stage变量来访问子类中的显示对象...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 2015-12-16
    相关资源
    最近更新 更多