2012-11-22 5 views
3

J'ai développé une application en AS3 et Starling être porté à IOS. Je l'ai mis à jour l'image Default.png et cela fonctionne très bien mais mon application prend un certain temps pour charger et un écran noir apparaît pendant environ 3-4 secondes.Starling AS3 IOS Splash Screen

J'ai cherché partout une solution mais ne pouvait pas trouver ce travail. Est-ce que quelqu'un a une solution de travail?

Un grand merci

Répondre

5

Je ne sais pas s'il y a une solution plus propre au moment, mais ce que je fais est d'ajouter une image bitmap de l'écran par défaut sur la scène Flash natif. Puis, quand Starling est prêt, j'enlève le bitmap.

Alors avant instancier Starling, ajoutez l'image bitmap à l'étape (ce sera la scène de Flash)

public static var _splash:Bitmap; 
//load or embed your bitmap// 
addChild(_splash); 

Puis instancier et commencer à Starling. par exemple.

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(); 
}); 

Dans la racine de votre classe Starling (dans cet exemple, il est principal), utilisez un écouteur d'ADDED_TO_STAGE et quand cela est déclenché, retirez le bitmap.

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; 
} 

Dans l'exemple ci-dessus la classe de document racine est appelé 'StartUp'.

+1

fonctionne très bien! Merci – puks1978

1

Comme décrit par docs il est default.png utilisé comme écran de démarrage dans iOS.

+0

J'ai mis à jour le Default.png mais il y a encore 3-4 secondes écran noir lors du démarrage. J'utilise cadre Starling et Air 3.2 – puks1978