dav*_*mer 0 apache-flex flash actionscript-3
这在动作脚本中作为Singleton运行良好吗?即是否有任何我应该知道的问题,并且在这种情况下只会创建一个AVManager实例:
请注意,我确实获得了预期的输出(只有一次"实例化第一次",数字跟随序列):
第一次实例化!1
文件1:2
文件2:3
最后4
这是文件....
AV_CONFIG.as:
package {
public class AV_CONFIG {
public static var AVM:AVManager = new AVManager();
}
}
Run Code Online (Sandbox Code Playgroud)
AVManager.as:
package {
import flash.events.EventDispatcher;
public class AVManager extends EventDispatcher {
public var someConstantData:uint = 1;
public function AVManager() {
trace('instantiated first time!', someConstantData);
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后:
File1.as:
package {
import AV_CONFIG;
import flash.display.Sprite;
public class File1 extends Sprite {
public function File1() {
AV_CONFIG.AVM.someConstantData++
trace('FILE 1:', AV_CONFIG.AVM.someConstantData);
}
}
}
Run Code Online (Sandbox Code Playgroud)
File2.as:
package {
import AV_CONFIG;
import flash.display.Sprite;
public class File2 extends Sprite {
public function File2() {
AV_CONFIG.AVM.someConstantData++
trace('FILE 2:', AV_CONFIG.AVM.someConstantData);
}
}
}
Run Code Online (Sandbox Code Playgroud)
Main.as(DocumentClass):
package {
import AV_CONFIG;
import flash.display.Sprite;
public class Main extends Sprite {
public function Main() {
var f1:File1 = new File1();
var f2:File2 = new File2();
AV_CONFIG.AVM.someConstantData++
trace('and finally', AV_CONFIG.AVM.someConstantData);
}
}
}
Run Code Online (Sandbox Code Playgroud)
通常你会想要单身:
例:
public class AvManager
{
private static var _instance:AvManager;
internal static var created:Boolean = false;
public function AvManager()
{
if(AvManager.created)
{
throw new Error("Cannot created instances of AvManager, use AvManager.instance.");
}
AvManager.created = true;
}
public static function get instance():AvManager
{
if(_instance == null)
{
_instance = new AvManager();
}
return _instance;
}
public function test():void
{
trace("Working.");
}
}
Run Code Online (Sandbox Code Playgroud)
你现在可以使用的地方:
AvManager.instance.test(); // Working.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
188 次 |
最近记录: |