Preloader AS3 [Résolu]

Signaler
Messages postés
6
Date d'inscription
jeudi 21 décembre 2006
Statut
Membre
Dernière intervention
3 mars 2010
-
Messages postés
6
Date d'inscription
jeudi 21 décembre 2006
Statut
Membre
Dernière intervention
3 mars 2010
-
Bonjour,

Je suis entrain de créer un siteweb, dont voici la structure :

Un swf "structure" depuis lequel on peu appeler, par 4 boutons, 4 autres swf qui se charge dans "structure". Chacun de ces swf secondaires possèdent un preloader. Ne m'y connaissant pas trop en AS3, j'ai repris un code trouvé sur yazo.net que voici :

var adresse = new URLRequest();
var chargeur = new Loader();
var part_mc:Part_mc = new Part_mc;
var barre_mc:Barre_mc = new Barre_mc;

addChild(chargeur);

chargeur.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,miseAjour);
chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE,chargeTerminee);

bt1.addEventListener(MouseEvent.MOUSE_DOWN,chargerImage)
bt2.addEventListener(MouseEvent.MOUSE_DOWN,chargerImage)
bt3.addEventListener(MouseEvent.MOUSE_DOWN,chargerImage)
bt4.addEventListener(MouseEvent.MOUSE_DOWN,chargerImage)

function chargerImage (evt:MouseEvent) {
addChild(part_mc);
addChild(barre_mc);
part_mc.y = 420;
barre_mc.y = 400;
adresse.url = "images/img"+evt.currentTarget.name.substr(2,1)+".swf";
chargeur.load(adresse);
}
function miseAjour(evt:ProgressEvent) {
barre_mc.scaleX = evt.currentTarget.bytesLoaded/evt.currentTarget.bytesTotal;
var pourcentage =(evt.currentTarget.bytesLoaded/evt.currentTarget.bytesTotal)*100;
part_mc.etiquette.text = Math.round(pourcentage)+"%";
}
function chargeTerminee(evt:Event) {
removeChild(part_mc);
removeChild(barre_mc);
}


Il marche très bien !

Seulement, j'aimerais qu'a l'ouverture du swf "structure", le swf secondaire "img1.swf" se charge automatiquement.

J'ai donc rajouté

var chargeur1:Loader = new Loader();

var adresse1:URLRequest = new URLRequest("images/img1.swf");

chargeur1.load(adresse1);

addChild(chargeur1);

en début de script ...

Ca fontionne, mais malheureusement sans preloader ! Et j'ai beau retourner le script dans tous les sens, je n'arrive pas l'avoir.

Ma question est donc : comment puis je avoir un preloader pour le chargement automatique de ce swf "img1.swf".


J'espère que j'ai été clair et complet ..;

Merci d'avance


MOUT

7 réponses

Messages postés
292
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
15 janvier 2013
1
Ousp dsl; une partie du message m'avait échappée, alors il te faudrait rajouter des "listeners" sur ton second chargeur et afficher les éléments de la barre de chargement (a faire après la déclaration des variables).

var chargeur1:Loader = new Loader();
var adresse1:URLRequest = new URLRequest("images/img1.swf"); 

chargeur1.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,miseAjour);
chargeur1.contentLoaderInfo.addEventListener(Event.COMPLETE,chargeTerminee); 
addChild(part_mc);
addChild(barre_mc);
addChild(chargeur1); 

chargeur1.load(adresse1);
Messages postés
6
Date d'inscription
jeudi 21 décembre 2006
Statut
Membre
Dernière intervention
3 mars 2010

Un tout grand merci, ca marche !


Au cas ou ce topic intéresserait quelqu'un, voici mon code final :



var chargeur1:Loader = new Loader();
var adresse1:URLRequest = new URLRequest("images/img1.swf");

var adresse = new URLRequest();
var chargeur = new Loader();

var part_mc:Part_mc = new Part_mc;
var barre_mc:Barre_mc = new Barre_mc;


addChild(chargeur1);

chargeur1.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,miseAjour1);
chargeur1.contentLoaderInfo.addEventListener(Event.COMPLETE,chargeTerminee1);


addChild(part_mc);
addChild(barre_mc);
part_mc.y = 650;
part_mc.x = 30;
barre_mc.y = 650;
barre_mc.x = 30;

chargeur1.load(adresse1);

function miseAjour1(evt:ProgressEvent) {
barre_mc.scaleX = evt.currentTarget.bytesLoaded/evt.currentTarget.bytesTotal;
var pourcentage1 =(evt.currentTarget.bytesLoaded/evt.currentTarget.bytesTotal)*100;
part_mc.etiquette.text = Math.round(pourcentage1)+"/100";
}
function chargeTerminee1(evt:Event) {
removeChild(part_mc);
removeChild(barre_mc);
}




addChild(chargeur);

chargeur.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,miseAjour);
chargeur.contentLoaderInfo.addEventListener(Event.COMPLETE,chargeTerminee);

bt1.addEventListener(MouseEvent.MOUSE_DOWN,chargerImage)
bt2.addEventListener(MouseEvent.MOUSE_DOWN,chargerImage)
bt3.addEventListener(MouseEvent.MOUSE_DOWN,chargerImage)
bt4.addEventListener(MouseEvent.MOUSE_DOWN,chargerImage)

function chargerImage (evt:MouseEvent) {
addChild(part_mc);
addChild(barre_mc);
part_mc.y = 650;
part_mc.x = 30;
barre_mc.y = 650;
barre_mc.x = 30;
adresse.url = "images/img"+evt.currentTarget.name.substr(2,1)+".swf";
chargeur.load(adresse);
}
function miseAjour(evt:ProgressEvent) {
barre_mc.scaleX = evt.currentTarget.bytesLoaded/evt.currentTarget.bytesTotal;
var pourcentage =(evt.currentTarget.bytesLoaded/evt.currentTarget.bytesTotal)*100;
part_mc.etiquette.text = Math.round(pourcentage)+"/100";
}
function chargeTerminee(evt:Event) {
removeChild(part_mc);
removeChild(barre_mc);
}

bt1.addEventListener(MouseEvent.MOUSE_DOWN,tourner);
bt2.addEventListener(MouseEvent.MOUSE_DOWN,tourner);
bt3.addEventListener(MouseEvent.MOUSE_DOWN,tourner);
bt4.addEventListener(MouseEvent.MOUSE_DOWN,tourner);
function tourner(evt:MouseEvent) {

chargeur1.unload()

}
Messages postés
292
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
15 janvier 2013
1
Salut;
Est-ce que dans ton fichier .fla tu as bien créé et exporter pour l'actionscript les symboles "part_mc" et "barre_mc"?
Messages postés
6
Date d'inscription
jeudi 21 décembre 2006
Statut
Membre
Dernière intervention
3 mars 2010

oui!
Messages postés
292
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
15 janvier 2013
1
Et ils n'apparaissent pas, ou ils apparaissent mais ne réagissent pas?
Messages postés
292
Date d'inscription
mercredi 7 novembre 2007
Statut
Membre
Dernière intervention
15 janvier 2013
1
ne pas oublier le petit bouton "réponse accéptée" ^^
bonne continuation
Messages postés
6
Date d'inscription
jeudi 21 décembre 2006
Statut
Membre
Dernière intervention
3 mars 2010

encore merci!