flash – 在AS3中访问Document类

实例类如何访问Document类?

即使在使用Flash中的“属性”栏命名Document类后,尝试从其他类访问它也通常会失败,表示“尝试访问未定义的属性…

一个解决方案总是将Document类转换为自身!例如.

Main(Main).globalMethod();

但是有时候甚至这个恒星都失败了,然后除了显而易见之外,通常都没有出路.

class Other{

   var parentClass:Main;
   public function Other(parent:Main){
       parentClass = parent;            // pointer to the Main class in a local var!

       Main(parentClass).globalMethod();
   }
}

解决方法

您可以在文档类中使用单例(Main,在您的示例中),这允许您从任何地方访问该实例.

public class Main extends Sprite {
    private static var _instance:Main;
    public static function get instance():Main { return _instance; }

    public function Main() {
        _instance = this;
       // etc...
    }

    // etc...
}

然后,您访问主实例,如下所示:

public class Other {
    public function Other() {
        Main.instance.usefulInstanceMethod();
    }
}

文档类是单例模式的一个很好的候选者,因为通常只应该有可用的实例.

相关文章

  译序:JWMediaPlayer是开源的网页使用的Flash播放器。本...
    Flash编程原理都是只能将1写为0,而不能将0写成1.所...
 上传setenvgatewayip192.168.1.1;setenvserverip192.168.1...
Error:FlashDownloadFailed-"Cortex-M3"出现一般有...
jPlayer是一个用于控制和播放mp3文件的jQuery插件。它在后台...
#ifndef__FONTUPD_H__#define__FONTUPD_H__#include"sy...