way2web
Messages postés65Date d'inscriptionjeudi 17 mars 2011StatutMembreDernière intervention17 mars 2011
-
31 mai 2007 à 12:44
way2web
Messages postés65Date d'inscriptionjeudi 17 mars 2011StatutMembreDernière intervention17 mars 2011
-
5 juin 2007 à 07:51
Bonjour,
J'ai voulu rajouter un preloader au chargement des images de ma galerie photo, j'ai donc placé ce code
mais rien ne se passe au niveau du chargement de l'image (les images se chargent correctement mais la barre de preloader ne fonctionne pas) ????
Voici le script complet, peut-être que j'ai placé ce code au mauvais endroit ou bien que j'ai mal ciblé le movieclip ????
J'ai pas oublier de nommer l'occurence du symbole imgloadBar avec le même nom
Merci d'avance pour votre aide...
var PhotoXML:XML = new XML();
//création d'un nouvel objet XML
var index:Number;
var TotalPhotos:Number;
var PhotoCaption:String;
var RootNode:XMLNode;
var nombre:Number = 0;
loadPhotoXML("print_portfolio_thumb.xml");
//pr que la fonction ne renvoye rien
function loadPhotoXML(filename:String):Void {
PhotoXML.ignoreWhite = true;
//sinon tous les return sont pris en considération
PhotoXML.load(filename);
//chargement du XML
PhotoXML.onLoad = function(success:Boolean):Void {
if (success) {
index = 0;
//initialisation du nombre de photos
RootNode = this.firstChild;
//pour faciliter la navigation dans les noeuds XML
TotalPhotos = RootNode.firstChild.childNodes.length;
//nbre de balises enfant d' dans mon XML
showPhoto(0, "2007");
// fonction à créer pr faire apparaître la 1ère photo
} else {
trace("Problème de chargement du XML !");
}
};
}
Reception = new LocalConnection();
Reception.connect("connexion10");
Reception.mamethode = function(Myphoto,Myyear)
{
// mavariable s'est donc photoThumb dans mon cas
pMyphoto = Myphoto;
pYear = Myyear;
trace("Je suis le receiver et pMyphoto vaut : "+Myphoto+" et year vaut : "+Myyear);
showPhoto(Myphoto,Myyear);
};
function showPhoto(index, year:String):Void
{
_root.theyear = year;
var MovieDepthCounter:Number = 10;
var photoHolder:MovieClip;
var photoThumb:String;
var photo:String;
//nombre += index;
trace("nombre vaut "+nombre);
trace("index vaut "+index);
trace("Le total de photos de "+year+" est de : "+TotalPhotos);
if (nombre>=(TotalPhotos-1)) {
Next_btn.enabled = false;
} else {
Next_btn.enabled = true;
}
if (nombre == 0) {
Previous_btn.enabled = false;
} else {
Previous_btn.enabled = true;
}
for (var i:Number = 0; i<RootNode.childNodes.length; i++) {
if (RootNode.childNodes[i].attributes.year == year) {
var CategoryXML:XMLNode = RootNode.childNodes[i];
TotalPhotos = RootNode.childNodes[i].childNodes.length;
trace(year+" has "+TotalPhotos+" photos");
photo = RootNode.childNodes[i].childNodes[index].childNodes[0].firstChild.nodeValue;
photoThumb = RootNode.childNodes[i].childNodes[index].childNodes[1].firstChild.nodeValue;
PhotoCaption = RootNode.childNodes[i].childNodes[index].childNodes[2].firstChild.nodeValue;
//photoThumb = "http://www.webdesign-4u.be/web-4u/images/portfolio/pictures/2003/botybenelux.jpg";
trace(photo);
photoHolder = this.createEmptyMovieClip("photoHolder"+index, MovieDepthCounter);
trace("photoHolder vaut "+photoHolder);
var photoHolderLoader:MovieClipLoader = new MovieClipLoader();
// création de l'écouteur
var eLoader:Object = new Object();
// onLoadProgress est lévènement qui boucle pendant que l'image est chargée
eloader.onLoadProgress = function(photoHolder, bytesLoaded:Number, bytesTotal:Number):Void
{
this.pourcent = Math.round((bytesLoaded/bytesTotal)*100);
_root.imgloadBar._width = this.pourcent;
trace(photoHolder + ".onLoadProgress with " + bytesLoaded + " bytes of " + bytesTotal);
}
eLoader.onLoadInit = function(photoHolder) {
photoHolder._x = (Stage.width-photoHolder._width)/2;
photoHolder._y = ((Stage.height-photoHolder._height)/2)+15;
photoHolder._alpha = 0;
_root.imgloadBar._visible = false;
trace("image chargée a 100%"+photoHolder+".onLoadInit");
photoHolder.onLoad = doFade(photoHolder, "in", 5);
var myDropFilter = new flash.filters.DropShadowFilter();
var myFilters:Array = photoHolder.filters;
myFilters.push(myDropFilter);
photoHolder.filters = myFilters;
var myList:Array = photoHolder.filters;
myList[0].quality = 15;
photoHolder.filters = myList;
};
photoHolderLoader.addListener(eLoader);
photoHolderLoader.loadClip(photo, photoHolder);
caption_txt.text = PhotoCaption;
year_txt.text = year;
MovieDepthCounter++;
}
}
//fin du for
}
//fin de la fonction showThumbails
function doFade(mcName, alphaDirection, changeRate) {
mcName.onEnterFrame = function() {
if (alphaDirection == "out") {
if (this._alpha<=0) {
this._alpha = 0;
delete this.onEnterFrame;
} else {
this._alpha -= changeRate;
}
} else if (alphaDirection == "in") {
if (this._alpha>=100) {
this._alpha = 100;
delete this.onEnterFrame;
} else {
this._alpha += changeRate;
}
}
};
}
way2web
Messages postés65Date d'inscriptionjeudi 17 mars 2011StatutMembreDernière intervention17 mars 2011 1 juin 2007 à 15:20
Désolé pour cette question stupide :lol: en fait le preloader fonctionnait parfaitement, c'est parce que mes photos étaient tellement légères qu'on avait même pas le temps de voir le preloader, j'ai testé avec une image de 1,5Mo et là on le voit bien fonctionner :oops:
Orange73
Messages postés1375Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention 2 août 2011 4 juin 2007 à 23:29
Aide utile :
Fais 2 fois Ctrl + Entrée. Une fois suffit a exporter l'anim mais une 2e fois de suite permet de la voir comme si tu possedai une connexion 56k donc bien pour voir le preloader !