Problema:
ho un mc, al cui interno c'è un pulsante; sullo stage, ci sono cinque diverse istanze di questo mc, chiamate
Ciò che mi occorre, è che azioni diverse vengano eseguite in base al mc che viene cliccato.Blu1, Red1, Yellow1, Blu2, Red2
Per fare questo, ho attribuito all'evento onRelease del pulsante contenuto nel mc questa azione
ma, invariabilmente, l'azione eseguita è sempre quella impostata nella prima condizione.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); }
Ho provato anche a scrivere il valore di controllo senza virgolette, così
ed il risultato non cambia.codice:(this._name=red2)
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
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)!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); }
Insomma, sembra che non effettui il controllo della condizione if... però, se ad esempio alle prime due condizioni tolgo le virgolette, così
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!!!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);
Tra un pò do i numeri...
Dove c@*§\#o sbaglio?
![]()

Rispondi quotando