Appliquer deux filtres simultanément en as
Bonjour,
j'ai créé un movieclip de manière dynamique sur lequel j'ai placé un listener, ensuite au onLoadInit, j'ai appliqué un filtre dropshadow et maintenant au onRollOver j'aimerais appliquer un autre filtre tout en conservant le premier filtre dropshadow (cumuler les effets quoi), le problème que j'ai c'est que lorsque j'applique le second le premier filtre disparaît car la variable est écrasée.
Voici mon code :
Code:
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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
| function showThumbails(index, year:String):Void {
_root.theyear = year;
var MovieDepthCounter:Number = 10;
var photoHolder:MovieClip;
var xPos:Number;
var yPos:Number = 20;
var photoThumb:String;
var indice:Number = 0;
nombre += index;
indice = nombre/4;
trace("nombre vaut "+nombre);
trace("index vaut "+index);
trace("indice vaut "+indice);
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");
if (TotalPhotos <=4)
{
Next_btn.enabled = false;
}
else if (indice == (Math.floor(TotalPhotos/4)))
{
//pr empêcher d'aller en avant qd on est à la dernière photo
Next_btn.enabled = false;
}
else if ((nombre+1)>(TotalPhotos-4))
{
//pr empêcher d'aller en avant qd on est à la dernière photo
Next_btn.enabled = false;
}
else
{
Next_btn.enabled = true;
}
if (nombre == 0)
{
//pr empêcher d'aller en arrière qd on est à la première photo
Previous_btn.enabled = false;
//Next_btn.enabled = true;
}
else
{
Previous_btn.enabled = true;
}
for (var j:Number = 0; j<4; j++) {
photoThumb = RootNode.childNodes[i].childNodes[j+nombre].childNodes[1].firstChild.nodeValue;
trace(photoThumb);
trace("nombre vaut : "+nombre);
photoHolder = this.createEmptyMovieClip("photoHolder"+j, MovieDepthCounter);
//trace(photoHolder);
xPos = 30+65*j;
photoHolder._x = xPos;
photoHolder._y = yPos;
var photoHolderLoader:MovieClipLoader = new MovieClipLoader();
trace("photoHolder vaut :"+photoHolder);
var recup:String = photoHolder._name.slice(-1);
//pr extraire le numéro de la photo (de 0 à3)
var recupNumber:Number = parseInt(recup);
//pr convertir string en number
//pr pouvoir envoyer à l'autre swf le numéro de la photo correspondante
//trace("myphoto vaut : "+myphoto);
// création de l'écouteur
var eLoader:Object = new Object();
eLoader.myphoto = recupNumber+nombre;
eLoader.Year = year;
eLoader.nombre = nombre;
eLoader.onLoadInit = function(photoHolder:MovieClip):Void
{
// p_mcCible correspond à photoHolder
photoHolder.myphoto = this.myphoto;
photoHolder.Year = year;
var etat:String;
//this.repere += this.myphoto;
photoHolder._alpha = 0;
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 = 5;
myList[1].color = 0xcccccc;
photoHolder.filters = myList;
photoHolder.onRelease = function()
{
_root.envoiLocalConnect(this.myphoto, this.Year);
};
};
photoHolderLoader.addListener(eLoader);
photoHolderLoader.loadClip(photoThumb, photoHolder);
MovieDepthCounter++;
}
}
}
//fin du for
} |
Merci d'avance pour votre aide !