36 vendredi 14 mars 2008
Effet de transitions entre plusieurs couleurs
MovieClip.prototype.setRGB = function(col) { (new Color(this)).setRGB (col); } MovieClip.prototype.getRGB = function() { return (new Color(this)).getRGB (); } MovieClip.prototype.colorChange = function(niv , colorA , tDep , d) { var t = 0; var t2 = 0; var mc = this.createEmptyMovieClip("colorChg"+niv,niv); with(mc) { var beg = this.getRGB().toString(16); //trace("couleur de DEPART = "+beg); //trace("couleur d ARRIVEE = "+colorA); //trace("t = "+t); trace("d = "+d); //trace("q = "+q) var cD1 = parseInt(beg.substring(0,2),16); var cD2 = parseInt(beg.substring(2,4),16); var cD3 = parseInt(beg.substring(4,6),16); var cA1 = parseInt(colorA.substring(2,4),16); var cA2 = parseInt(colorA.substring(4,6),16); var cA3 = parseInt(colorA.substring(6,8),16); var c1 = cA1-cD1; var c2 = cA2-cD2; var c3 = cA3-cD3; //trace(c1+" - "+c2+" - "+c3); mc.onEnterFrame = function() { if(tDep > t2) { t2++; } else { for(i=1 ; i<4 ; i++){ this["colR"+i] = Math.round(eval("cD"+i)+((eval("c"+i)/d)*t)).toString(16); if (eval("colR"+i).length<2) { this["colR"+i] = "0"+eval("colR"+i).toString(); } else { this["colR"+i] = eval("colR"+i); } } this._parent.setRGB("0x"+this.colR1+this.colR2+this.colR3); if(t++ >= d.toString()) { delete this.onEnterFrame; this.removeMovieClip; } } } } } mc.colorChange(0,"0x010101",0,20); btnTab = [btn1, btn2, btn3]; colorTab = ["FFFF00", "FF66C1", "B0E84C"] for(i=0; i<btnTab.length; i++){ id = i; monBtn = btnTab[id]; monBtn.num = id; monBtn.onRelease = function(){ trace(colorTab[this.num]) mc.colorChange(0,"0x"+colorTab[this.num],0,20); } }












Commentaires
1. Le jeudi 4 juin 2009 à 12:59, par maxdz
Ajouter un commentaire