bonjour j'ai un probleme et je bute dessus depuis une bonne semaine.
j'ai récupéré un code flash ici meme pour un diaporama simple en flash avec resize des image.
il fonctionne tres bien sur mon pc quand je lance le swf
néanmoin je l'ai intégré dans une page html pour afficher mes photo:
le flash se lance bien j'ai l'interface, je voit les bouton, mais pas d'image !!!
j'ai essayé plusieur diaporama et toujours le meme résultat, l'interface mais pas d'image et parfois meme les bouton sont figé.
voila ma page html (tout simple pour les test)
<html>
<head>
<title>Titre de la page</title>
</head>
<body bgcolor="#e4e4e4">
<center>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#3,0,0,0" width="800" height="600">
<param name="SRC" value="flash\diaporama\diaporama2\diaporama.swf">
<param name="QUALITY" value="high">
<param name="BGCOLOR" value="#e4e4e4">
<embed src="flash\diaporama\diaporama2\diaporama.swf" pluginspage="http://www.macromedia.com/shockwave/download/" type="application/x-shockwave-flash" width="800" height="600" quality="high" bgcolor="#e4e4e4">
</embed>
</object>
</center>
</body>
</html>
et voila le code action script:
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%% CONSTANTE DE PARAMETRES %%%%%%%%%%%%%% */
//marge entre le cadre et l'image : doit etre > 0
ECART_DE_RECHERCHE = 0.1;
//largeur/hauteur d'un clip/image/bouton numero (vignette)
LARGEUR_VIGNETTE = 58.65;
HAUTEUR_VIGNETTE = 40.65;
//espacement entre les vignettes
ESPACEMENT = 5;
//interval de temps en milliseconde pour le diaporama
TEMPS_INTERVAL = 3000;
/* %%%%%%%%%%%%%% CONSTANTE DE PARAMETRES %%%%%%%%%%%%%% */
/* %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% */
_root.INDICE = -1;
_root.PIC = new Array();
//ecouteurs sur chargement
Ec = new Object();
Ec.onLoadProgress = function(MCtarget, loadedBytes, totalBytes) {
_root.loadbar.percent = Math.floor(loadedBytes*100/totalBytes);
_root.loadbar.gotoAndStop(_root.loadbar.percent);
_root.loadbar.percent += "%";
};
Ec.onLoadInit = function(MCtarget) {
while (MCtarget._width>_root.cadre._width or MCtarget._height>_root.cadre._height) {
MCtarget._xscale -= ECART_DE_RECHERCHE;
MCtarget._yscale -= ECART_DE_RECHERCHE;
}
while (MCtarget._width<=_root.cadre._width and MCtarget._height<=_root.cadre._height) {
MCtarget._xscale += ECART_DE_RECHERCHE;
MCtarget._yscale += ECART_DE_RECHERCHE;
}
MCtarget._x = _root.cadre._x+(_root.cadre._width-MCtarget._width)/2;
MCtarget._y = _root.cadre._y+(_root.cadre._height-MCtarget._height)/2;
_root.loadbar.gotoAndStop(1);
_root.loadbar.percent = "";
};
//objet chargement
MCloader = new MovieClipLoader();
MCloader.addListener(Ec);
//effet de la souris sur les vignettes
function setMouseEffect(clip) {
//si la souris passe dessus
clip.onRollOver = function() {
this.gotoAndStop(2);
};
//si la souris n'est plus dessus
clip.onRollOut = function() {
if (_root.INDICE+1 == this.num) {
this.gotoAndStop(4);
} else {
this.gotoAndStop(1);
}
};
//si on clique
clip.onPress = function() {
this.gotoAndStop(3);
};
//si on relache
clip.onRelease = function() {
//this.gotoAndStop(1);
_root.PREV_INDICE = _root.INDICE;
_root.INDICE = this.num;
B_previous.onRelease();
};
//si on relache hors du bouton
clip.onReleaseOutside = function() {
this.gotoAndStop(1);
};
}
//objetXML
MCXML = new XML();
MCXML.load("photos.xml");
MCXML.ignoreWhite = true;
MCXML.onLoad = function(succes) {
function Pic_Desc(n, u) {
this.name = n;
this.url = u;
this.small = undefined;
}
if (succes) {
//extraction des images du fichier XML
var i = 0;
while (this.firstChild.childNodes[i] != undefined) {
_root.PIC[i] = new Pic_Desc(this.firstChild.childNodes[i].attributes.nom, this.firstChild.childNodes[i].attributes.url);
if (this.firstChild.childNodes[i].attributes.mignature != undefined) {
_root.PIC[i].small = this.firstChild.childNodes[i].attributes.mignature;
}
i++;
}
_root.MAX = i;
//affichage des numeros d'images ou des mignatures
for (i=1; i<=_root.MAX; i++) {
var newClip;
if (_root.PIC[i-1].small != undefined) {
//chargement des vignettes si besoin.
newClip = v_holder.holder.attachMovie("mignature", "bn_"+i, i+100);
Ecm = new Object();
Ecm.onLoadInit = function(MCtarget) {
MCtarget = MCtarget._parent;
MCtarget._width = LARGEUR_VIGNETTE;
MCtarget._height = HAUTEUR_VIGNETTE;
setMouseEffect(MCtarget);
MCtarget.num = Number(MCtarget._name.substring(3));
};
MCloaderm = new MovieClipLoader();
MCloaderm.addListener(Ecm);
MCloaderm.loadClip(_root.PIC[i-1].small, newClip.holder);
} else {
newClip = v_holder.holder.attachMovie("B_numero", "bn_"+i, i+100);
newClip.num = i;
newClip._width = LARGEUR_VIGNETTE;
newClip._height = HAUTEUR_VIGNETTE;
setMouseEffect(newClip);
}
newClip._x = (i-1)*(ESPACEMENT+LARGEUR_VIGNETTE);
newClip._y = 0;
}
//pour afficher la premiere image directement
B_next.onRelease();
}
};
//boutons
B_next.onRelease = function() {
//chargement de l'image selectionnée
v_holder.holder["bn_"+(_root.INDICE+1)].gotoAndStop(1);
v_holder.holder["bn_"+(_root.PREV_INDICE+1)].gotoAndStop(1);
_root.INDICE++;
if (_root.INDICE == _root.MAX) {
_root.INDICE = 0;
}
_root.MCloader.loadClip(_root.PIC[_root.INDICE].url, "_root.holder");
_root.desc = _root.PIC[_root.INDICE].name;
v_holder.holder["bn_"+(_root.INDICE+1)].gotoAndStop(4);
v_holder.slideTo(_root.INDICE);
};
B_previous.onRelease = function() {
//chargement de l'image selectionnée
v_holder.holder["bn_"+(_root.INDICE+1)].gotoAndStop(1);
v_holder.holder["bn_"+(_root.PREV_INDICE+1)].gotoAndStop(1);
_root.INDICE--;
if (_root.INDICE<0) {
_root.INDICE = _root.MAX-1;
}
_root.MCloader.loadClip(_root.PIC[_root.INDICE].url, "_root.holder");
_root.desc = _root.PIC[_root.INDICE].name;
v_holder.holder["bn_"+(_root.INDICE+1)].gotoAndStop(4);
v_holder.slideTo(_root.INDICE);
};
B_diapo.sw = false;
B_diapo.onRelease = function() {
if (!sw) {
inter = setInterval(B_next.onRelease, TEMPS_INTERVAL);
sw = true;
_root.raye._alpha = 0;
} else {
clearInterval(inter);
sw = false;
_root.raye._alpha = 100;
}
};
//**********************************************************************
//********************* ECOUTEUR SUR LE CLAVIER ************************
//**********************************************************************
var keyListener = new Object();
keyListener.onKeyDown = function() {
switch (Key.getCode()) {
case Key.RIGHT :
B_next.onRelease();
break;
case Key.LEFT :
B_previous.onRelease();
break;
case Key.SPACE :
B_diapo.onRelease();
break;
}
};
Key.addListener(keyListener);
alors je sait pas quel actionscript cela est mais c'est le seul diaporama avec resize des image qui fonctionne nickel. j'essai daprendre l'AS3.
si vous pouviez m'aider svp
Cordialement tazagaga.