3

我在 AS3 和 Starling 中开发了一个应用程序来移植到 IOS。我已经更新了 Default.png 图像,效果很好,但是我的应用程序需要一段时间才能加载,并且黑屏显示大约 3-4 秒。

我到处寻找解决方案,但找不到任何可行的方法。有人有可行的解决方案吗?

非常感谢

4

2 回答 2

5

我不确定目前是否有更简洁的解决方案,但我所做的是将默认屏幕的位图添加到本机 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”。

于 2012-11-22T09:06:46.833 回答
1

文档所述,在 iOS 中使用 Default.png 作为初始屏幕。

于 2012-11-22T08:43:08.847 回答