Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema banale.

  1. #1

    Problema banale.

    Creo un simbolo, lo istanzio, do' il nome all' istanza. Ammettendo che il simbolo sia un pulsante, come posso assegnare a questo i normali eventi come il Release, il RollOver, etc., senza che il codice relativo venga scritto nella parte destinata al codice dei frames?
    O, per meglio dire, come faccio a distinguere il codice dei simboli istanziati dal codice dei frames?

  2. #2
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Ciao,

    dipende tutto dalla versione di Flash che hai. Con l'avvento di ActionScript 3.0 non è più possibile fare la distinzione di cui parli: si fa tutto, e soltanto, da codice associato ai frames, richiamando il nome istanza dell'oggetto in questione, che può essere un pulsante oppure un movieclip, ma non solo.

    Fin da AS 2.0 è cambiata anche la sintassi, nel senso che, pur potendo - ancora - usare entrambe le modalità, quando, e se, devi istruire un pulsante col codice associato ad un frame, le cose sono così:

    codice:
    nomeIstanzaPulsante.onRelease = function () { // se non è sulla _root occorre anche il percorso completo
    //tue azioni;
    }
    
    nomeIstanzaPulsante.onRollOut = function () {  // se non...
    //tue azioni;
    }
    
    nomeIstanzaPulsante.onPress = function () { // se non...
    //tue azioni;
    }
    
    nomeIstanzaPulsante.onRollOver = function () { // se non...
    //tue azioni;
    }
    in AS 3.0 la sintassi è diventata ancor più macchinosa, per non dire ultra-tediosa.
    Per un onRelease, sempre e solo al frame in cui si trova il pulsante:
    codice:
    nomeIstanzaPulsante.addEventListener (MouseEvent.CLICK,onClick); // se non...
    function onClick (e:Event):void
    {
    //tue azioni;
    }
    Qualora tu non conoscessi nemmeno il "vecchio mtodo", valido solo per AS 1.0 e 2.0, allora si fa così:
    senza che sia necessario assegnare un nome istanza, vuoi che si tratti di un pulsante o che sia un un'istanza di movieclip:
    - selezioni l'istanza col destro e, sul menu che compare, scegli Azioni.
    - clicca sul foglio bianco dell'editor Azioni e scrivi:

    codice:
    on (press) {
    // tue azioni;
    }
    -------------------------
    on (release) {
    // tue azioni;
    }
    -------------------------
    on (rollOver) {
    // tue azioni;
    }
    -------------------------
    on (rollOut) {
    // tue azioni;
    }
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

  3. #3
    Ah, credo di aver capito.

    In effetti, io, abituato ad usare (anni orsono) Flash 8, ricordavo che si potesse fare come hai detto tu, cioè selezionando l'istanza con il pulsante destro e cliccando su azioni. Adesso avevo notato questa "mancanza".

    Mille grazie per la spiegazione.

  4. #4
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Tuttavia, pur avendo CS3 o CS4 nessuno ti impedisce di settare la pubblicazione per AS 2.0 e poter dunque usare il metodo valido fino a Flash8, vale a dire l'associazione diretta all'istanza, senza dover scrivere il codice "al frame". Ho provato CS4 per un paio di giorni e, se non sbaglio, si può fare. Poi sono tornato a Flash8, e da lì non intendo muovermi.
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

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.