Ho scaricato un esempio di Sephirot che permette di cambiare colore ad un clip 'virando' dall'attuale colore.
Se volete vederlo e scaricarlo è QUI
Come vedete nell'esempio il colore cambia ad ogni pressione del mouse. Vorrei riuscire invece a cambiare colore al MC cliccando su un pulsante.....non dovrebbe essere difficile ma non mi viene
Ecco il codice.
Sul MC che cambia colore:
codice:
onClipEvent (load) {
colore = new Color(this);
trasforma = new Object();
trasforma = {rb:100, gb:100, bb:255};
colore.setTransform(trasforma);
col_ar = new Array();
count = 0;
}
onClipEvent (mouseDown) {
col_ar = _root.getColor(this);
rb = random(255);
gb = random(255);
bb = random(255);
new_ar = new Array(rb, gb, bb);
diff_ar = new Array((new_ar[0]-col_ar[0]), (new_ar[1]-col_ar[1]), (new_ar[2]-col_ar[2]));
cambia = true;
count = 0;
trasforma.rb = col_ar[0];
trasforma.gb = col_ar[1];
trasforma.bb = col_ar[2];
}
onClipEvent (enterFrame) {
if (cambia && (count<20)) {
trasforma.ra = 100;
trasforma.rb += diff_ar[0]/20;
trasforma.ga = 100;
trasforma.gb += diff_ar[1]/20;
trasforma.ba = 100;
trasforma.bb += diff_ar[2]/20;
colore.setTransform(trasforma);
count++;
}
}
sul frame:
codice:
function getColor(clip){
myColor = new Color(eval("clip"));
col = myColor.getTransform();
return([col.rb,col.gb,col.bb]);
}
Ho provato a spostare il blocco dell'evento mouseDown in un pulsante (adattandolo all'evento on (release), ovviamente) inserendo i nuovi percorsi per le variabili ma non va.
Vi prego in ginocchio sui ceci
.....è urgente.