Ciao a tutti, stò utilizzando per una animazione questo codice per dare l'effetto di solarizzazione su una foto...
MovieClip.prototype.solar = function (defcolor) {
this.c = new Color(this);
this.o = new Object({rb:255,gb:255,bb:255});
this.up = true;
this.onEnterFrame = function () {
if (this._alpha<100) {
this._alpha += 10;
}
if (!this.up) {
this.o.rb -= 10;
this.o.gb -= 10;
this.o.bb -= 10;
} else {
if (this.o.rb<=255) {
this.o.rb *= 1.5;
this.o.gb *= 1.3;
this.o.bb *= 3;
} else {
this.o = {rb:255, gb:255, bb:255};
this.up = false;
}
}
this.c.setTransform(this.o);
if (this.o.rb<=0) {
this.o = defcolor;
this.c.setTransform(this.o);
delete this.onEnterFrame;
}
}
}
L'effetto funziona...l'unico problema è che alla fine la foto non torna ai suoi colori iniziali ma rimane leggermente più "opaca"...come se la luminosità fosse diversa...
La foto ha lo sfondo bianco e anche il resto dello stage è bianco solo che dopo la solarizzazione il bianco della foto è diverso...più "grigetto"...quindi si vede la differenza....come mai???
C'è qualche cosa da cambiare nel codice?
Grazie a tutti!!