我在 AS3 和 Starling 中开发了一个应用程序来移植到 IOS。我已经更新了 Default.png 图像,效果很好,但是我的应用程序需要一段时间才能加载,并且黑屏显示大约 3-4 秒。
我到处寻找解决方案,但找不到任何可行的方法。有人有可行的解决方案吗?
非常感谢
我在 AS3 和 Starling 中开发了一个应用程序来移植到 IOS。我已经更新了 Default.png 图像,效果很好,但是我的应用程序需要一段时间才能加载,并且黑屏显示大约 3-4 秒。
我到处寻找解决方案,但找不到任何可行的方法。有人有可行的解决方案吗?
非常感谢
我不确定目前是否有更简洁的解决方案,但我所做的是将默认屏幕的位图添加到本机 flash 阶段。然后当 Starling 准备好时,我删除位图。
所以在实例化 Starling 之前,将位图图像添加到舞台(这将是 Flash 舞台)
public static var _splash:Bitmap;
//load or embed your bitmap//
addChild(_splash);
然后实例化并启动 Starling。例如
myStarling = new Starling(Main, stage, null, null, Context3DRenderMode.AUTO, Context3DProfile.BASELINE);
myStarling.stage3D.addEventListener(starling.events.Event.CONTEXT3D_CREATE, function(e:flash.events.Event):void {
// Starling is ready!
myStarling.start();
});
在您的 Starling 根类(在本例中为 Main)中,使用 ADDED_TO_STAGE 侦听器,当它被触发时,删除位图。
public function Main() {
addEventListener(starling.events.Event.ADDED_TO_STAGE, onAdded);
}
private function onAdded ( e:starling.events.Event ):void {
StartUp._splash.parent.removeChild(StartUp._splash);
StartUp._splash = null;
}
在上面的示例中,根文档类称为“StartUp”。
如文档所述,在 iOS 中使用 Default.png 作为初始屏幕。