i bottoni in AS3

pati

Utente Attivo
31 Gen 2007
64
0
6
Buongiorno a tutti. Non sono pratica di AS3, avendo in passato usato AS2. Non riesco a risolvere un problema, forse ragiono con il vecchio sistema. Ho un bottone che cliccato cambia colore e vorrei restasse dell'ultimo colore una volta cliccato, anche quando sposto il cursore. Grazie!
 

zorro

Utente Attivo
20 Ott 2014
241
10
18
ROMA
Ciao,
se non ho capito male hai creato un pulsante che ,''a riposo' è di un colore (colore 1) e,una volta cliccato, cambia colore (colore 2), ma quando sposti il mouse torna si colore 1, mentre tu vorresti che restasse permanentemente di colore 2, giusto ? Ma come l'hai creato il pulsante ? via codice o tramite l'interfaccia ? faccio qualche prova e poi ti faccio sapere. Ciao
 

zorro

Utente Attivo
20 Ott 2014
241
10
18
ROMA
La cosa non è semplicissima.
Per prima cosa dovrai creare tramite l'interfaccia grafica (che ti eviterà parecchie righe di codice) un nuovo simbolo pulsante sullo stage, al quale darai un nome di istanza (ad es pulsante_btn); quindi scriverai il seuente codice:


Codice:
import flash.geom.Transform;
import flash.geom.ColorTransform;
import flash.events.MouseEvent;


pulsante_btn.addEventListener(MouseEvent.CLICK,cambiacolore);

function cambiacolore(evt:MouseEvent)
{
	var newcol:ColorTransform = pulsante_btn.transform.colorTransform;
	newcol.color = 0xFF0000;
	pulsante_btn.transform.colorTransform = newcol;
}
In pratica dopo aver associato al pulsante una 'sentinellla' (addEventListener) in grado di intercettare il CLICK del mouse, dirai al programma di compiere un'azione: cambiare colore al pulsante; il problema è che, non essendoci un metodo per cambiare direttamente il colore al pulsante, dovrai creare un nuovo oggetto della classe
colorTransforn, precedentementei importata.