Charger une image et l'afficher en fondu en ActionScript 3 (AS3)
Le chargement de l'image et son affichage, une fois le chargement terminé, sont expliqués dans ces 2 billets :
Le chargement d'images
Gérer la progression et la fin du chargement d'une image
Chargement de l'image
-
// création du conteneur de l'image
-
var conteneurImage:Loader = new Loader();
-
// url de l'image à charger
-
var image:URLRequest = new URLRequest("http://www.mozbot.fr/theme/menthe/www.mozbot.fr/logo.gif");
-
// Le chargement est terminé
-
function onComplete(evt:Event):void
-
{
-
conteneurImage.alpha = 0; //le conteneur est transparent
-
addChild(conteneurImage); // affichage du conteneur
-
myTimer.start(); //démarrage du timer
-
}
-
// Evénement complete
-
conteneurImage.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
La gestion de l'affichage en fondu
Nous allons utilisé un objet Timer qui va nous permettre d'augmenter de 10% l'alpha du conteneur toutes les 200 millisecondes. L'objet Timer possède 2 arguments. Le premier permet d'indiquer la fréquence à laquelle on veut exécuter une action. Le second permet d'indiquer le nombre de fois où l'on veut exécuter cette action.
On évoquera l'événement TIMER de la classe TimerEvent afin d'exécuter en réponse la fonction onAlpha
-
// on crée un objet Timer avec en paramètres le délai puis le nombre d'événements diffusés
-
var myTimer:Timer = new Timer( 200, 10 ); //on souhaite exécuter une action toutes les 200 millisecondes et ce, 10 fois de suite
-
// A chaque appel du Timer (toutes les 200 millisecondes),
-
function onAlpha( pEvt:TimerEvent ):void
-
{
-
conteneurImage.alpha += 0.1; //l'alpha augmente
-
}
-
myTimer.addEventListener( TimerEvent.TIMER, onAlpha ); //Toutes les 200 millisecondes, le timer exécute l'événement TIMER et donc en réponse, la fonction onAlpha est exécutée.
-
// chargement de l'image dans le conteneur
-
conteneurImage.load(image);
Le timer ne démarre pas automatiquement, c'est pourquoi on utilise la méthode start du timer dans la fonction onComplete
;)
Je suis Antony Chauviré, développeur sur la Flash Platform.
Salut,
mmh tu oublies de stopper ton Timer lorsque ton alpha est à 1 ;)
@++
Bonsoir,
Lors de la création du Timer, le 2ème paramètre me permet d'indiquer le nombre de fois où je veux exécuter l'action.
Je n'ai pas donc pas besoin d'utiliser la méthode stop.
;)
Hello,
Comment fait-on pour qu'ensuite l'image disparaisse en fondue, et qu'une new image apparait ?
Merci pour l'article qui ma énormément aidé !
bonjour, pour moi j'ai besoin de charger 2images d'un fichier XML et les afficher l'une prés l'autre mais je n'ai pas trouver un code qui fonctionne