Bonjour,
Voilà quelques jours que je m'arrache les cheveux sur ce problème... mon niveau en AS étant proche de la nullité, je me suis référé à quelques ouvrages et à notre ami Google pour trouver une réponse mais rien n'y a fait. C'est pourquoi je me tourne vers vous en éspérant pouvoir trouver l'aide qui me manque.
Voici mon problème, j'espère pouvoir l'expliquer clairement :
J'ai créé un diaporama dynamique en récupérant il y a quelques temps de cela un script sur la toile. Il va chercher les images dans un répertoire et applique un fondu de transition pour les enchaîner. Il fonctionne à merveille. Aujourd'hui je réutilise ce script pour faire un triple diaporama dynamique. Même principe, sauf que l'on a trois images qui doivent switcher. J'ai donc créé trois calques et dans chacun j'ai collé mon code ainsi :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
| var transIn01 = function () {
up01.onEnterFrame = function() {
this._alpha += 2;
if (this._alpha>=100) {
this._alpha = 100;
delete this.onEnterFrame;
}
};
};
var transOut01 = function () {
up01.onEnterFrame = function() {
this._alpha -= 2;
if (this._alpha<=0) {
this.clear();
this.unloadMovie();
delete this.onEnterFrame;
this._alpha = 100;
}
};
};
var onLoadInit = function (mc01:MovieClip) {
mc01._alpha = 0;
down01.swapDepths(11);
up01.swapDepths(10);
down01 = up01;
up01 = mc01;
transIn01();
};
var mcl01:MovieClipLoader = new MovieClipLoader(this);
mcl01.addListener(this);
var ping01:MovieClip = this.createEmptyMovieClip("_ping01_", 10);
var pong01:MovieClip = this.createEmptyMovieClip("_pong01_", 11);
ping01._x = pong01._x=0;
ping01._y = pong01._y=0;
var up01, down01:MovieClip;
up01 = pong01;
down01 = ping01;
var loadDiapo01 = function (file01:String) {
transOut01();
mcl01.loadClip(path01+file01, down01);
};
var path01:String = "images/";
var diapos01:Array = new Array();
var nb01:Number = 6;
for (var i01:Number = nb01; i01>0 ; i01--)
diapos01.push("accueil01"+i01+".jpg");
var currentDiapoIndex01:Number = -1;
var isAutoChange01:Boolean = false;
var intervalID01:Number;
var nextDiapo01 = function () {
currentDiapoIndex01 += 1;
currentDiapoIndex01 %= diapos01.length;
loadDiapo01(diapos01[currentDiapoIndex01]);
};
var autoChange01 = function (b01:Boolean) {
if (b01 == undefined) {
b01 = true;
}
if (isAutoChange01 == b01) {
return;
} else {
isAutoChange01 = b01;
}
if (isAutoChange01) {
intervalID01 = setInterval(this, "nextDiapo01", 1000);
nextDiapo01();
} else {
clearInterval(intervalID01);
}
};
autoChange01(true); |
Dans les deux autres calques toutes les variables prennent les valeurs 02 et 03 (suis-je clair ?).
Mais voilà, cela ne fonctionne pas vraiment. Les images cafouilles de manière assez indescriptible. Mais pas d'erreur AS.
J'ai un peu trifouillé tout ce "bazar" afin de tenter de réparer les chose par moi-même, et en changeant
par
mcl01.addListener(test01);
ou n'importe quelle autre valeur, les images ne cafouillent plus, mais je perd le fondu enchaîné. J'ai l'horrible sensation d'être proche de la réponse sans réussir à mettre le doigt dessus et surtout sans vraiment comprendre pourquoi. Quelle frustration !
J'espère que vous pourrez me donner un coup de main et sinon, j'espère pouvoir trouver tout seul comme un grand (et accessoirement comprendre pourquoi).
Je joins mon .fla afin que les plus acharnés d'entre vous puissent y mettre leur nez. N'hésitez pas à me dire si ce que j'ai fait est complètement aberrant, je le répète je suis nul en AS.
Merci d'avance !
Cyril
Partager