2011-12-06 3 views
0

Main.swf에 인스턴스화 된 Singleton 클래스가 domainA에 있습니다. 파일은 Game.swf에서 도메인을 통해 LoaderMax (http://www.greensock.com/)으로로드됩니다. 내가 싱글 톤에 접근하려 할 때, 이것은 Main.swf에있는 것과 같지 않다고 생각합니다.도메인간에 as3 클래스를 공유합니다.

이것을 강제 할 수있는 방법이 있습니까?

답변

1

파일이 동일한 응용 프로그램 도메인에로드되는 경우 동일한 싱글 톤이어야합니다. LoaderContext을 사용하면됩니다. 당신이에 물건을 삽입해야하는 경우 성능 문제를 테스트하기 위해 또한

, 당신은 더 우아하게이 돌봐, SwiftSuspenders처럼 dependency injection 프레임 워크를 사용할 수 있지만, 이들의 대부분은 describeType에 크게 의존하기 때문에, 나는 권합니다 많은 게임 개체.

0

이 문제는 Singleton (http://misko.hevery.com/2008/11/21/clean-code-talks-global-state-and-singletons/)을 사용할 때의 많은 문제 중 하나입니다. 대신 인스턴스를 game.swf로 전달하고 이것이 인스턴스화 된 방법에 대한 책임을 main.swf에 남겨 두는 것이 좋습니다.