Bonjour, j'ai un soucis dans mon code, je charge des images a partir d'une liste de fichier en xml, puis a l'evenement onLoadInit, je redimmentionne l'image pour quelle soit affichée en entier dans le lecteur de photos.
Le probleme c'est que au debut ca marche bien, les image sont redimmentionner correctement puis quand je change d'image les valeur de taille sont fausses il me les redimmentionne nimporte comment comment puis je faire svp? merci
voici le code : precedent et suivant sont deux bouton avec un nom en liaison
//Definition des proprietés du document
var document = new Object();
document.largeur = Stage.width;
document.hauteur = Stage.height;
trace(document.largeur);
trace(document.hauteur);
photos_xml = new XML();
photos_xml.ignoreWhite = true;
photos_xml.onLoad = function(ok) {
if (ok) {
attachMovie("precedent", "precedent", 10);
attachMovie("suivant", "suivant", 11);
//positionnement du boutton suivant a droite
suivant._x = document.largeur;
suivant.onRelease = function() {
if (enCours.attributes.num == nbrPhotos) {
enCours = premierePhoto;
} else {
enCours = enCours.nextSibling;
}
affichePhoto(enCours);
}
precedent.onRelease = function() {
if (enCours.attributes.num == 1) {
enCours = dernierePhoto;
} else {
enCours = enCours.previousSibling;
}
affichePhoto(enCours);
}
noeuds = photos_xml.firstChild.childNodes;
nbrPhotos = noeuds.length;
premierePhoto = this.firstChild.firstChild;
dernierePhoto = this.firstChild.lastChild;
enCours = premierePhoto;
affichePhoto(enCours);
}
}
photos_xml.load("photos.xml");
//photos_xml.load(_root.maVar);
loadeur = new MovieClipLoader();
ecouteur = new Object();
ecouteur.onLoadInit = function(clip){
largeur = clip._width;
hauteur = clip._height;
trace("largeur d'origine = "+largeur);
trace("hauteur d'origine = "+hauteur);
if(largeur > document.largeur or clip._height > hauteur){
trace("need modif");
if(largeur < hauteur){
trace("portrait");
rapport = hauteur/largeur;
clip._height = document.hauteur;
clip._width = largeur*document.hauteur/hauteur;
trace("largeur recalculée = "+clip._width);
trace("hauteur recalculée = "+clip._height);
}
else{
trace("paysage");
clip._width = document.largeur;
clip._height = hauteur*document.largeur/largeur;
trace("largeur recalculée = "+clip._width);
trace("hauteur recalculée = "+clip._height);
}
}
//centrage de l'image
clip._x = (document.largeur - clip._width)/2;
clip._y = (document.hauteur - clip._height)/2;
trace("largeur finale "+clip._width);
trace("hauteur finale "+clip._height);
trace("---------------------------");
}
//ecouteur.onLoadProgress = function(clip){
//var loadProgress = loadeur.getProgress(clip);
//trace(loadProgress.bytesLoaded);
//}
//ecouteur.onLoadComplete = function(clip){
//trace("fichier chargé");
//}
function affichePhoto(photo) {
loadeur.unloadClip(image);
loadeur.removeListener(ecouteur);
loadeur.addListener(ecouteur);
this.createEmptyMovieClip("image",1);
loadeur.loadClip(photo.attributes.fichier,image);
}