Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Funzioni...

  1. #1

    Funzioni...

    ciao a tutti!!! vorrei chiedervi 1 kosetta...

    sul primo frame della timeline principale ho queste istruzioni:

    avanti.onRelease = function() {
    "ISTRUZIONI VARIE"
    }

    in questo caso, avanti è 1 pulsante, e quando lo clikko esegue "ISTRUZIONI VARIE".



    se io, sempre sullo stesso frame, al posto delle istruzioni precedenti ci metto...

    function ciao() {
    "ISTRUZIONI VARIE"
    }

    avanti.onRelease=ciao();

    ...xchè non mi funziona?!?


    GRAZIE A TUTTI QUELLI KE MI RISPONDONO!!!! CiauZ!!!
    http://www.neonargon.com/
    ----:::[ GoTeNsSj4 ]:::----

  2. #2
    avanti.onRelease = ciao

    senza ()

  3. #3
    e xchè?!? ho visto che funziona, ma nn riesco a capire il xchè... se è una funzione xchè nn posso richiamarla con le "()" come si fa di solito? forse xchè la funzione si trova sullo stesso livello?!? e xchè se la metto su un pulsante che si trova sullo stesso livello funziona con le "()"?
    GRAZIE E SCUSA SE TI ROMPO!!!! CiauZ!
    http://www.neonargon.com/
    ----:::[ GoTeNsSj4 ]:::----

  4. #4
    Non lo so con precisione, ma penso e sottolineo penso che funzioni così

    avanti.onRelease = ciao

    Tu associ il valore della variabile "ciao" (in questo caso la funzione) all'evento onRelease di "avanti".

    Se invece scrivi

    avanti.onRelease = ciao()

    associ all'evento onRelease di avanti l'eventuale valore che la funzione "ciao" ritorna, ad esempio se scrivi

    function ciao(){
    return("ciao anche a te")
    }

    avanti.onRelease = ciao()

    noterai che avanti.onRelease avrà come valore "ciao anche a te", e la funzione verrà appena avviato il filmato.

    Invece scrivendolo senza virgolette, associ all'evento onRelease la funzione corrispondente a "ciao"

    Come spiegazione forse non è chiarissima, ma il concetto penso sia quello

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    709
    Il problema è che usi una sintassi sbagliata: il simbolo "=" è un operatore di assegnamento, ossia assegna un valore (o il valore risultante da un'espressione) ad una variabile. Se invece vuoi che all'evento "onRelease" venga richiamata una funzione o eseguite delle istruzioni, la sintassi DOVREBBE essere qualcosa di simile:

    avanti.onRelease {
    ciao();
    }
    oppure
    avanti.onRelease {
    call ciao();
    }

    Dico DOVREBBE perchè sono alle primissime armi con Action Script e le mie considerazioni si basano sulle norme e convenzioni di scripting che vengono usate in altri linguaggi come JavaScript o VBScript

  6. #6
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Originariamente inviato da secan
    ... la sintassi DOVREBBE essere qualcosa di simile:

    avanti.onRelease {
    ciao();
    }
    Exactly.

    function ciao() { // do un nome alla funzione
    "ISTRUZIONI VARIE" // dico quello che deve fare
    }
    avanti.onRelease { //all'evento di questa istanza
    ciao(); //fai quello che ho detto nella function di nome ciao
    }

    Le () signigìficano "nessun parametro". La funzione non ne ha. Ha le istruzioni da eseguire. Ma la sintassi vuole che per richiamare il contenuto di una funzione bisogna usare le () per poterla riconoscere (individuare).

    Più luce o ancor più buio ?

    NAP
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

  7. #7
    il problema sarebbe risolto, ma il fatto è che, se scrivo

    avanti.onRelease {
    }

    mi dice errore di sintassi!!!

    io ho risolto facendo così:

    function ciao() {
    "ISTRUZIONI VARIE"
    }
    avanti.onRelease = function {
    ciao();
    }

    così funziona, ma nn so se sia il modo corretto di procedere.......

    CMQ GRAZIE ANCORA!!! :-) CiauZ!
    http://www.neonargon.com/
    ----:::[ GoTeNsSj4 ]:::----

  8. #8
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    avanti.onRelease {
    }

    mi dice errore di sintassi!!!

    Sì, perché manca la partenza del percorso, vale a dire:

    _root.avanti.onRelease {
    ...

    Scusa.

    NAP
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

  9. #9
    No, nessun errore di sintassi, è CORRETTA.

    avanti.onRelease = function(){
    // azioni
    }

    oppure

    function ciao(){
    // azioni
    }

    avanti.onRelease = ciao

    Come documentato sul dizionario di actionscript per quel che riguarda l'assegnazione dalla timeline a pulsanti & c in Flash MX.
    Non c'entra il _root o meno.

  10. #10
    Originariamente inviato da GoTeNsSj4

    così funziona, ma nn so se sia il modo corretto di procedere.......
    I modi corretti sono il primo che avevi provato e il secondo (però senza parentesi, come ti ho detto sopra), ovvero

    avanti.OnRelease = function(){
    //azioni
    }

    oppure

    function ciao(){
    // azioni
    }

    avanti.OnRelease = ciao

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.