Easy-Micro

ESPACEMEMBRE ActionScript
PreLoader

Réaliser une animation de chargement (loader)

ActionScript Une barre de chargement manuel (AS3)
Sur la scène :
• Une zone de texte dynamique nommée "loader_txt".
• Un clip (un rectangle plein) nommé "bare_mc" dont le centre (la croix) est à gauche.
-> Votre animation doit être dans l'image 2 de votre scènario.

as

Code à coller dans la première image clé de la séquence
Exemple de PreLoader AS3
Code dans la première image clé de la séquence

stop(); // on empèche de lire l'animation

// répétition de l'appel à la fonction loading
this.addEventListener(Event.ENTER_FRAME, loading);

function loading(e:Event):void{

var total:Number = this.stage.loaderInfo.bytesTotal; // nombre total de byte
var loaded:Number = this.stage.loaderInfo.bytesLoaded; // nombre de byte chargés

bare_mc.scaleX = loaded/total; // on redimentionne le clip bare_mc
loader_txt.text = Math.floor((loaded/total)*100)+ "%"; // Math.floor permet d'arrondir le chiffre

if (total == loaded){
play();
this.removeEventListener(Event.ENTER_FRAME, loading);
}

}

Source: Republic Of Code

ActionScript Une barre de chargement "toute faite" (AS3)
Il suffit d'utiliser le composant "progress bar" qui ce trouve dans le menu "Fenêtre / composants / User Interface" de Flash.

ActionScript Une barre de chargement dynamique (proposée par Arts-Numeriques)
Sur la première image clé de la séquence principale:
- un champ de texte dynamique multiligne nommé "affichage"
- un clip "mabarre" : une barre noir fixe.
- le code ci dessous :

Code dans la première image clé sur la scène (en AS2)

onEnterFrame = function() {
if (_root.getBytesLoaded() < _root.getBytesTotal()) {
_root.affichage.text = "Chargement en cours: "
+ Math.floor(_root.getBytesLoaded())
+ " octets chargés sur "
+ Math.floor(_root.getBytesTotal())
+ " au total, soit "
+ Math.floor(_root.getBytesLoaded() / _root.getBytesTotal() * 100)
+ "%";
// le "+" ci-dessus permet de revenir à la ligne dans le code

pourcentage = Math.floor(_root.getBytesLoaded() / _root.getBytesTotal() * 100);
// Math.floor permet de trouver l'entier le plus proche inférieur d'un nombre.
gotoAndPlay(1);
}
}

mabarre.onEnterFrame = function() {
// interpolation de forme sur le clip
this._xscale = pourcentage;
// _xscale: proriété de redimensionnement horizontal
}

Sur une autre image clé (ou autre séquence): importer une vidéo ou un clip lourd ! Rajouter ensuite une action "stop();" dans l'image de cette séquence.

Flash CS3
Photo d'écran d'Adobe Flash CS3 (soit version 9)


< Page précédente ACTIONSCRIPT Page suivante >