2011-12-06 114 views
0

我在Main.swf位于domainA实例化单例类。该文件加载Game.swf域B通过LoaderMax(http://www.greensock.com/)。当我尝试访问单例时,我想这与Main.swf中的不一样。在域之间共享一个as3类

有什么办法强制呢?

回答

1

如果你的文件被加载到同一个应用程序域中,它应该是同一个单例。你可以使用LoaderContext来做到这一点。

此外,您还可以使用dependency injection框架,像SwiftSuspenders,更优雅照顾这一点,但由于大多数的这些严重依赖describeType,我会建议,以测试性能问题,如果你需要注入的东西成很多游戏对象。

0

这是使用Singleton的许多问题之一(http://misko.hevery.com/2008/11/21/clean-code-talks-global-state-and-singletons/)。可能我建议,相反,只需将该实例传递给game.swf,并将如何实例化的责任留给main.swf?