Visualizzazione dei risultati da 1 a 8 su 8

Discussione: parametri funzione

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    284

    parametri funzione

    ciao a tutti.
    ho una funzione che richiama un ' altra funzione(da settare come parametro della prima) all' evento onEnterFrame e gli passa due parametri.....
    faccio un esempio...


    function saluta(messaggio,nome,funzione) {
    trace(nome+" "+messaggio");
    _root.onEnterFrame= function() {
    funzione(messaggio,nome);
    }
    }
    function come_si_fa(messaggio,nome,parametro3,parametro4) {
    trace(parametro3+parametro4)
    }
    fin qui tutto ok....ma la seconda funzione ha altri parametri oltre quelli che gli vengono passati dalla funzione "saluta" come faccio ad utilizzarli? es..

    saluta ("ciao","sauzer",come_si_fa);//cosi alla funzione "come_si_fa" gli arrivano solo i parametri della funzione saluta.

    saluta("ciao","sauzer",come_si_fa(parametro3,param etro4);//cosi non funziona ovviamente ......dovrei praticamente riempiere tutti e 4 i parametri, purtroppo pero ho l' esigenza che i primi due parametri vengano passati dalla prima funzione.
    qualche idea?

  2. #2
    Oppure, se devi passare tutti i parametri dalla prima funzione:

    function funzione1(parametro1, parametro2, parametro3, parametro4, parametro5, parametro6, parametro7) {
    trace(parametro1+" "+parametro2);
    _root.onEnterFrame = function() {
    parametro3(parametro4, parametro5, parametro6, parametro7);
    };
    }
    function funzione2(parametro8, parametro9, parametro10, parametro11) {
    trace(parametro8+" "+parametro9);
    }
    //la richiami con:
    funzione1("nomefunzione1", "cognomefunzione1", funzione2, "nomefunzione2", "cognomefunzione2", "parametro_supplementare", "parametro_supplementare_2");


    Ciao,
    .:| bandafox |:.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    284
    bandafox penso che siamo sulla strada giusta ...ma potresti farmi un esempio un po piu chiaro(sono un po di testa) .....io intanto mi spiego meglio:


    function fun1(fun1_parametro1,fun1_parametro2,richiama__fun 2) {
    onEnterFrame=function() {
    richiama_fun2(fun1_parametro1,fun1_parametro2);//passo i parametri della fun1 alla fun2.
    }
    }

    la fun2 pero ha altri parametri tipo:
    function fun2(fun2_parametro1(=fun1_parametro1),fun2_parame tro2(fun1_parametro2),fun2_parametro3,fun2_paramet ro4) {
    //azioni;
    }

    adesso io devo richiamare la fun1 e inserire come parametro la fun2 con i suoi parametri3 e 4, perche l'1 e il 2 sono quelli passati dalla fun1.

    es. fun1(fun1_parametro1,fun1_parametro2,fun2(fun2_par ametro3,fun2_parametro4))

    cosi pero non va.

  4. #4
    Facciamo con le lettere, che è più facile:

    Se ho capito:

    function funzione1(a, b, c, d, e, f, g) {
    trace(a+" "+b);
    _root.onEnterFrame = function() {
    c(d, e, f, g);
    };
    }
    function funzione2(h, i, l, m) {
    trace(h+" "+i);
    trace(l+" "+m);
    }
    //la richiami con:
    funzione1("fun1_par1", "fun1_par2", funzione2, "fun2_par1", "fun2_par2", "fun2_par3", "fun2_par4");
    //
    // allora, i parametri a, b, c, d, e, f, g vengono tutti passati alla funzione1
    // i parametri a e b sono ad uso della funzione 1, e li richiami con il primo trace
    // il parametro c è il nome della funzione da richiamare sull'enterFrame (funzione2)
    // i parametri d, e, f, g verranno passati alla seconda funzione, in ordine
    // come parametri h, i, l, m di: funzione2(h, i, l, m)
    // quindi:
    // a= "fun1_par1"
    // b= "fun1_par2"
    // c= funzione2
    // d= h= "fun2_par1"
    // e= i= "fun2_par2"
    // f= l= "fun2_par3"
    // g= m= "fun2_par4"

    Ciao,
    .:| bandafox |:.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    284
    innanzitutto grazie mille per la disponibilita.

    cosi come hai scritto tu va bene , ma mettiamo che i parametri ad uso della funzione1 quindi (a,b) siano anche i primi due parametri della funzione2 che pero ha in tutto quattro parametri.....se faccio come mi hai detto dovrei riscrivere il valore di a,b anche per la funzione2 al posto di (h, i), ma cosi scrivo per due volte gli stessi valori mentre io voglio che implicitamente i valori a,b siano i primi due valori di entrambe le funzioni e che alla funzione2 possa settare i valori (l, m).

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    284
    mi rispondo da solo ....dovrebbe essere cosi:
    function funzione1(a, b, c, d, e) {
    trace(a+" "+b);
    _root.onEnterFrame = function() {
    c(a, b, d, c);
    };
    }
    function funzione2(h, i, l, m) {
    trace(h+" "+i);
    trace(l+" "+m);
    }
    //la richiami con:
    funzione1("fun1_par1"="fun2_par1", "fun1_par2"="fun2_par2", funzione2, "fun2_par3", "fun2_par4");

    approfondendo il discorso.....i parametri della funzione2 possono essere variabili e io imposto la funzione 1 per recepire solo 2 parametri ad uso della funzione2, come posso creare una cosa un po piu dinamica?
    cioe che mi possa accogliere una qualsiasi funzione con parametri variabili da 3 a 8?

  7. #7
    Eccola qui:

    function funzione1(a, b, c, f, g) {
    trace(a+" "+b);
    _root.onEnterFrame = function() {
    c(a, b, f, g);
    };
    }
    function funzione2(h, i, l, m) {
    trace(h+" "+i);
    trace(l+" "+m);
    }
    //la richiami con:
    funzione1("fun1_par1", "fun1_par2", funzione2, "fun2_par1", "fun2_par2");

    Per quanto riguarda la funzione, puoi impostare tutti i parametri che vuoi, poi non è detto che tutti i parametri che passi debbano essere utilizzati ...

    Ciao,
    .:| bandafox |:.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    284
    ok grazie ancora:quote:

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 © 2025 vBulletin Solutions, Inc. All rights reserved.