Preloader AS3

Résolu
moutmout789 Messages postés 6 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 3 mars 2010 - 3 mars 2010 à 11:15
moutmout789 Messages postés 6 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 3 mars 2010 - 3 mars 2010 à 18:38
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

ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
3 mars 2010 à 16:24
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);
3
moutmout789 Messages postés 6 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 3 mars 2010
3 mars 2010 à 17:17
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()

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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
3 mars 2010 à 16:16
Et ils n'apparaissent pas, ou ils apparaissent mais ne réagissent pas?
0
ChasseurDeChimeres Messages postés 292 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 15 janvier 2013 3
3 mars 2010 à 17:54
ne pas oublier le petit bouton "réponse accéptée" ^^
bonne continuation
0
moutmout789 Messages postés 6 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 3 mars 2010
3 mars 2010 à 18:38
encore merci!
0