Bonjour,
J'ai à gauche une bande défilante, contrôler avec la position de la souris (défilement en haut si la souris est en haut de l'anim, et l'inverse si elle est en bas). Dedans, j'y ai chargé via des MCL des vignettes d'images jpg, auxquels j'ai appliqué un comportement de rollover (100% d'opacité), rollout (50%), et onRelease (lien de chargement d'un swf correspondant à la vignette, pour l'afficher en grand).
J'ai d'abord créé ma liste d'images :
_global.nbrImagesGauche = 2;
_global.liste_images_gauche = new Array("thumb0.jpg","thumb1.jpg","thumb2.jpg");
this.createEmptyMovieClip("chargeAmbiance",2);
Après vient mon MCL qui me permet de contrôler les clips chargés :
var chargeIllustration3:MovieClipLoader = new MovieClipLoader();
var ecouteChargement3:Object = new Object();
ecouteChargement3.onLoadStart = function(mc_cible:MovieClip):Void {};
ecouteChargement3.onLoadProgress = function(mc_cible:MovieClip, octet:Number, totalOctets:Number):Void {};
ecouteChargement3.onLoadComplete = function(mc_cible:MovieClip):Void {};
ecouteChargement3.onLoadInit = function(mc_cible:MovieClip):Void {
mc_cible._width = 150;
mc_cible._height = 80;
mc_cible._x = 5;
// on dessine une bordure
mc_cible.createEmptyMovieClip("cadre", 0);
mc_cible.cadre.createEmptyMovieClip("stroke_mc", 2);
with (mc_cible.cadre.stroke_mc) {
lineStyle(0, 0x212121);
moveTo(0, 0);
lineTo(150, 0);
lineTo(150, 80);
lineTo(0, 80);
lineTo(0, 0);
}
mc_cible.cadre._alpha=25;
mc_cible._alpha=50;
// créer un filtre d'ombre portée
var dropShadow:DropShadowFilter = new DropShadowFilter(4, 90, 0x303030, 0, 10, 10, 2, 3);
dropShadow.blurX = 5;
dropShadow.blurY = 5;
mc_cible.onRollOver = function() {
mc_cible._alpha = 100;
mc_cible.cadre._alpha=25;
dropShadow.distance = 2;
dropShadow.alpha = 0.5;
mc_cible.filters = [dropShadow];
}
mc_cible.onRollOut = function() {
mc_cible._alpha = 25;
mc_cible.cadre._alpha=100;
dropShadow.distance = 0;
dropShadow.alpha = 0;
mc_cible.filters = [dropShadow];
}
mc_cible.onRelease = function() {
mc_cible._alpha = 100;
}
sliderGauche.sliderGaucheCible.mc0.onRelease = function() {
chargeAmbiance.loadMovie("clip0.swf");
}
sliderGauche.sliderGaucheCible.mc1.onRelease = function() {
chargeAmbiance.loadMovie("clip1.swf");
}
sliderGauche.sliderGaucheCible.mc2.onRelease = function() {
chargeAmbiance.loadMovie("clip2.swf");
}
};
ecouteChargement3.onLoadError = function(mc_cible:MovieClip, msgErreur:String, numErreur:Number):Void {};
Enfin viens la boucle de chargement + le chargement du clip initial (le clip0 donc) :
// chargement des images
function initClips() {
for (i:Number=0; i<=nbrImagesGauche; i++) {
var refClip = sliderGauche.sliderGaucheCible.createEmptyMovieClip("mc" + i, i);
refClip._y = i*90;
chargeIllustration3.loadClip(liste_images_gauche[i], refClip);
}
}
chargeIllustration3.addListener(ecouteChargement3);
initClips();
chargeAmbiance.loadMovie("clip0.swf");
Donc mon souci, c'est qu'étant donné que j'ai mis sur mes vignettes dans le slider un comportement rollover et rollout, je n'arrive pas à dire "si cette vignette est cliquée, elle reste à 100% d'opacité" (pour montrer à l'internaute que le clip qui se charge correspond à cette vignette.
Je pense qu'il faut créer une variable, mais je ne sais pas où l'écrire, et comment la faire fonctionner.