Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    Creare una funzione a Runtime

    Salve,
    avrei la necessità di creare 3 funzioni a Runtime chiaramente di nome diverso, cioè:

    codice:
    var MyArray:Array;
    MyArray[0] = "Nome1";
    MyArray[1] = "Nome1";
    MyArray[3] = "Nome1";
    
    for each(var _Nome in MyArray)
    {
       function _Nome(e:Event):void
       {
           // codice vario....
       }
    }
    Ma come posso fare per ottenere quello che ho dimostrato nell'esempio ???

    Esempio non funzionante chiaramente ... !!!

  2. #2
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453
    Innanzi tutto se sei in as2 il for each non esiste, quindi fai un for...


    ...poi perchè devi crarle a runtime, che dovresti fare?

  3. #3
    ho 20 Pulsanti nella root,

    per ogni Istanza dei questi devo creare un evento ma il codice lo voglio tenere nella root e non all'interno del pulsante stesso,

    quindi volevo creare con un ciclo tutte le funzioni per gli eventi che mi occorrono....

  4. #4
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453
    Cioè hai 20 funzioni

    funz_1, funz_2 ecc...

    e hai 20 pulsanti puls1, puls2 ecc...

    vorresti associare funz1 a puls1e cosi via?

  5. #5
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453
    Inoltre, i pulsanti sono pulsanti o mc che devono fungere da pulsanti?

    perchè nel secondo caso ti basterebbe mettere sulla root l'azione senza inserirla sul bottone...

    tipo

    _root.mioPulsante1.onPress = function():Void{
    //azioni
    }

  6. #6
    perfetto, proprio cosi!!

  7. #7
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453
    Ok, dato per scontato che è più semplice e corretto, visto che è tutto definito, usare un mc come pulsante e definire la sua azione da root come ti ho indicato, con un ciclo si farebbe cosi

    for (var a:Number = 1; a <= 20; a++) {
    _root["pulsante"+a].id = a;
    _root["pulsante"+a].onPress = function():Void {
    _root["funzione"+this.id]();
    }
    }


    pulsante1 chiama funzione1


  8. #8
    Originariamente inviato da nep036
    Inoltre, i pulsanti sono pulsanti o mc che devono fungere da pulsanti?

    perchè nel secondo caso ti basterebbe mettere sulla root l'azione senza inserirla sul bottone...

    tipo

    _root.mioPulsante1.onPress = function():Void{
    //azioni
    }
    con il AS3 si fa cosi:

    codice:
    MioPulsante.addEventListener(MouseEvent.CLICK, MiaFunzione);
    function MiaFunzione(event:MouseEvent):void
    {
    	// codice vario ---
    }

  9. #9
    Utente di HTML.it L'avatar di nep036
    Registrato dal
    Nov 2003
    Messaggi
    1,453
    si, ma as 2 o as 3?

    comunque, in teoria con un ciclo la storia è sempre uguale...

  10. #10
    Originariamente inviato da nep036
    Ok, dato per scontato che è più semplice e corretto, visto che è tutto definito, usare un mc come pulsante e definire la sua azione da root come ti ho indicato, con un ciclo si farebbe cosi

    for (var a:Number = 1; a <= 20; a++) {
    _root["pulsante"+a].id = a;
    _root["pulsante"+a].onPress = function():Void {
    _root["funzione"+this.id]();
    }
    }


    pulsante1 chiama funzione1


    in questo modo so che si fa nel AS2 l'ho usato un sacco, ma in AS3 non lo posso fare......

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.