2010-02-10 3 views
0

Question très simple. Jetez un oeil sur le code ci-dessous. C'est un chargeur très simple avec une barre de progression. La barre de progression est un symbole sur la scène appelée "barre". Tout ce que je veux, c'est faire disparaître la barre à la fin du chargement et fondre l'image qui se charge. J'ai essayé un certain nombre d'approches sans beaucoup de chance.Très simple AS question sur les fondus et les fondus de sortie

var loader: Loader = new Loader(); 
addChild(loader); 

loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); 
function completeHandler(evt:Event):void { 
}; 

loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); 

function progressHandler(evt:ProgressEvent):void { 
    var percent: int = Math.round(evt.bytesLoaded/ evt.bytesTotal * 100); 
    bar.width = percent; 
}; 

var req:URLRequest = new URLRequest("encs1.jpg"); 

loader.load(req); 

Merci d'avance à tous ceux qui peuvent me donner des pointeurs!

Répondre

1

GTween

Tweener

TweenLite

Essayez une de ces bibliothèques. Flash a une bibliothèque intégrée pour Tweening, fl.transitions.Tween, mais elle n'est pas aussi belle que celles-ci. Tous les trois mentionnés ont une API très similaire.

Pour votre exemple, vous feriez cela (avec Tweener):

function completeHandler(evt:Event):void { 
    Tweener.addTween(bar, {alpha:0, transtion:"easeOutQuad", time:.5}); 
    addChild(loader.content); 
    loader.content.alpha = 0; 
    Tweener.addTween(loader.content, {alpha:1, transition:"easeInOutQunit", time:.5, delay:.5}); 
}; 

Cela interpoler la barre alpha 0 prendre .5 secondes, tween à la prise alpha 1 contenu de (l'image) du chargeur. 5 secondes, après un délai de .5 secondes, la barre disparaît et immédiatement l'image apparaît en fondu.

Cheat Sheet for Tweener easing functions

+0

C'est grand. Merci beaucoup. La fenêtre de sortie me donne une erreur (voir ci-dessous), mais le film fonctionne parfaitement. Merci encore! ## [Tweener] Erreur: La propriété 'transtion' ne semble pas être une propriété d'objet normale de [object MovieClip] ou d'une propriété spéciale enregistrée. – Maria

1

Je ne fais pas vraiment beaucoup de développement flash mais un de mes collègues aime GTween pour une animation simple.

http://www.gskinner.com/libraries/gtween/

Si vous vérifiez les démos que vous verrez que vous pouvez faire des choses avancées, mais il est supposé être très simple fading de base et trop. Voici un exemple d'animation de base, définissez les vars itemToTween, secondsToAnimate et changez alpha pour être la propriété à laquelle vous souhaitez animer la propriété actuelle.

new GTween(itemToTween, secondsToAnimate, { alpha: 1 }, { ease:Sine.easeOut }); 

Espérons que cela vous aide un peu jusqu'à ce que quelqu'un avec plus de connaissances peut vous aider.