如何在我的 PureMVC 应用程序中获得单个视图以使用 Starling 及其自己的中介并与应用程序的其余部分进行通信?
应用程序的其余部分将不会使用八哥。
从我到目前为止的研究来看,starling 似乎只能在 swf 的主要“文档类”上激活?
如何在我的 PureMVC 应用程序中获得单个视图以使用 Starling 及其自己的中介并与应用程序的其余部分进行通信?
应用程序的其余部分将不会使用八哥。
从我到目前为止的研究来看,starling 似乎只能在 swf 的主要“文档类”上激活?
好的,所以我想出了如何做到这一点。你需要知道的几件事。
Starling.current.root如果您有对 stage 的引用,您几乎可以在任何地方创建您的 starling 实例。所以你的调解员看起来像
override public function onRegister():void {
starlingInstance = new Starling(StarlingContainer, stageReference);
starlingInstance.addEventListener(starling.events.Event.ROOT_CREATED, onStarlingRootCreated);
starlingInstance.viewPort = new Rectangle(x, y, width, height);
starlingInstance.start();
}
private function onStarlingRootCreated(event:starling.events.Event):void {
viewComponent = Starling.current.root as StarlingContainer;
}
Event.ROOT_CREATED重要的部分是在将 viewComponent 设置为 Starling rootClass 之前等待事件。
Starling.current.stage或使用访问 nativeStageStarling.current.nativeStage 这对于侦听 StarlingContainer 上下文之外的事件很有用。一旦你以这种方式设置了你的中介,你就可以像对待任何其他的 viewComponent 一样对待你的 starling viewComponent,发送通知等。
非常感谢Starling 论坛。