Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Flash & ActionScript
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti

Flash & ActionScript Animazione web e linguaggio di programmazione

Hey Amico Visitatore,
Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Flash & ActionScript


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 05-08-10, 17:09   #1 (permalink)
User Newbie
 
Data di registrazione: Jul 2009
Messaggi: 6
Creare listener su bottoni con ciclo for

Ho il seguente codice di prova:
Codice:
package {
    import  flash.display.Sprite;
    import flash.events.MouseEvent;
    public class prova_2 extends Sprite {
        function prova_2():void {
                pls_1.addEventListener(MouseEvent.CLICK,function(evento:MouseEvent){scrivi(1);});
                pls_2.addEventListener(MouseEvent.CLICK,function(evento:MouseEvent){scrivi(2);});
                pls_3.addEventListener(MouseEvent.CLICK,function(evento:MouseEvent){scrivi(3);});
                pls_4.addEventListener(MouseEvent.CLICK,function(evento:MouseEvent){scrivi(4);});
                pls_5.addEventListener(MouseEvent.CLICK,function(evento:MouseEvent){scrivi(5);});
    
        }
        function scrivi(numero:uint):void {
            trace (numero);
        }
    }
}
pls_1, pls_2 ecc. sono pulsanti inseriti nel filmato.

Il codice funziona, ma se io avessi più di cento pulsanti sarebbe molto comodo usare un ciclo. Ed ecco che ho due problemi: il primo è che anche se i nomi delle istanze dei pulsanti contengono un riferimento numerico non so come richiamarli durante il ciclo. L'unico modo che ho trovato è creare un Array contente i riferimenti ai vari pulsanti, ma se avessi mille pulsanti dovrei scrivermi a mano un Array lunghissimo.
Il secondo problema è che quand'anche utilizzassi l'Array per richiamare i pulsanti, non riesco ad assegnare parametri diversificati alla funzione scrivi().
Qualcuno mi può mostrare come scrivere un ciclo for ed avere lo stesso risultato del codice sopra?
giancarlo75 non in linea   Rispondi citando
Vecchio 06-08-10, 19:06   #2 (permalink)
Moderatore
 
Data di registrazione: May 2008
Messaggi: 2,551
Ciao giancarlo75, non sono molto bravo con as3 e actionscript in generale ma credo, almeno da quello che ho studiato, che non si possa fare a meno degli Array
Codice:
var My_menu:Array = new Array (pls_1,pls_2,pls_3,pls_4,pls_5)

 for(var i:int=0;i<My_menu.length;i++)
 {
        My_menu[i].addEventListener(MouseEvent.MOUSE_DOWN,onClick)
     }   
       function onClick(evento:MouseEvent):void {
            trace (evento.target.name)
             }
__________________

Nhatan
Nhatan non in linea   Rispondi citando
Vecchio 07-08-10, 09:44   #3 (permalink)
User Newbie
 
Data di registrazione: Jul 2009
Messaggi: 6
E' quello che temo anch'io, vorrei che non fosse così ma mi sa che non c'è alterntiva. L'unica è allora lavorare su database ed xml per creare automaticamente degli array, altrimenti a mano sarebbe un lavoro lunghissimo. A quel punto non occorre nemmeno che gli elementi abbiano tutti un nome uguale numerato.
giancarlo75 non in linea   Rispondi citando
Vecchio 07-08-10, 10:44   #4 (permalink)
Moderatore
 
Data di registrazione: May 2008
Messaggi: 2,551
Però non posso credere che devi fare un sito in flash con 1000 pulsanti, anche se sono 10 , 20 o 50 non è che sia un lavoro così immane, poi a patto che svolgano tutti la stessa azione, che so link a pagine o caricare swf esterni anche la funzione basta scriverla una volta sola, creando un altro Array che includa i link o gli swf da caricare e mettendo dentro il ciclo for un indice.
__________________

Nhatan
Nhatan non in linea   Rispondi citando
Vecchio 07-08-10, 14:54   #5 (permalink)
User Newbie
 
Data di registrazione: Jul 2009
Messaggi: 6
No non devo fare un sito, è solo una prova per capire quello che posso e quello che non posso fare con actionscript, una cosa a livello di studio.
giancarlo75 non in linea   Rispondi citando
Vecchio 07-08-10, 15:18   #6 (permalink)
Moderatore
 
Data di registrazione: May 2008
Messaggi: 2,551
Ahh! Ok.
__________________

Nhatan
Nhatan non in linea   Rispondi citando
Rispondi


Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 06:35.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.