Problema:
ho un mc, al cui interno c'è un pulsante; sullo stage, ci sono cinque diverse istanze di questo mc, chiamate
Blu1, Red1, Yellow1, Blu2, Red2
Ciò che mi occorre, è che azioni diverse vengano eseguite in base al mc che viene cliccato.
Per fare questo, ho attribuito all'evento onRelease del pulsante contenuto nel mc questa azione
codice:
if (this._name="blu1") {
my_color = new Color(_root.backpop.ptit.backtit);
my_color.setRGB(0x0066FF);
} else if (this._name="red1") {
my_color = new Color(_root.backpop.ptit.backtit);
my_color.setRGB(0x00CCFF);
} else if (this._name="yellow1") {
my_color = new Color(_root.backpop.ptit.backtit);
my_color.setRGB(0x00CC33);
} else if (this._name="blu2") {
my_color = new Color(_root.backpop.ptit.backtit);
my_color.setRGB(0xFFCC00);
} else if (this._name="red2") {
my_color = new Color(_root.backpop.ptit.backtit);
my_color.setRGB(0xFF0000);
}
ma, invariabilmente, l'azione eseguita è sempre quella impostata nella prima condizione.
Ho provato anche a scrivere il valore di controllo senza virgolette, così
codice:
(this._name=red2)
ed il risultato non cambia.
Per capire meglio, ho messo sullo stage un campo di testo dinamico, con nome istanza 'name', e poi ho modificato il codice del pulsante come segue
codice:
_root.name = this._name;
if (_root.name="blu1") {
my_color = new Color(_root.backpop.ptit.backtit);
my_color.setRGB(0x0066FF);
} else if (_root.name="red1") {
my_color = new Color(_root.backpop.ptit.backtit);
my_color.setRGB(0x00CCFF);
} else if (_root.name="yellow1") {
my_color = new Color(_root.backpop.ptit.backtit);
my_color.setRGB(0x00CC33);
} else if (_root.name="blu2") {
my_color = new Color(_root.backpop.ptit.backtit);
my_color.setRGB(0xFFCC00);
} else if (_root.name="red2") {
my_color = new Color(_root.backpop.ptit.backtit);
my_color.setRGB(0xFF0000);
}
Il risultato è che il campo di testo _root.name mi mostra di volta in volta il nome d'istanza del mc cliccato, ma l'azione che viene eseguita (setRGB) è sempre quella del primo if (valore = 0x0066FF)!
Insomma, sembra che non effettui il controllo della condizione if... però, se ad esempio alle prime due condizioni tolgo le virgolette, così
codice:
if (_root.name=blu1) {
my_color = new Color(_root.backpop.ptit.backtit);
my_color.setRGB(0x0066FF);
} else if (_root.name=red1") {
my_color = new Color(_root.backpop.ptit.backtit);
my_color.setRGB(0x00CCFF);
quando clicco su uno di questi due mc, anche se _root.nome continua a riportarmi il giusto valore, il colore che viene impostato con il setRGB è quello del terzo if, cioè del primo caso in cui ho mantenuto le virgolette!!!
Tra un pò do i numeri...
Dove c@*§\#o sbaglio?