Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Ricavare il nome di una istanza

    Salve a tutti,
    in un menu verticale ho una serie di istanze di un bottoni.
    Queste, cliccate, mi devono mandare a diversi fotogrammi del movie.
    Mi serve però uno script solo da agganciare al simbolo.
    Questo script deve essere del tipo:

    codice:
    on(press){
       if il nome istanza mio è "primo" then vai al fotogramma 10
       if il nome istanza mio è "secondo" then vai al fotogramma 20
       if il nome istanza mio è "terzo" then vai al fotogramma 30
    }
    Il problema è che non so come indicargli proprio la condizione if... Come mi riferisco al nome dell'istanza cliccata?
    grazie

  2. #2
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Facciamo un po' di chiarezza, almeno nel gergo... Al simbolo non "agganci" niente. Le azioni, le condizioni o le funzioni si associano alle singole istanze; queste devono avere un nome proprio.

    Ci sono due modi per associare azioni alle istanze: direttamente o indirettamente.
    Direttamente:
    - seleziono l'istanza, apro il pannello Azioni e scrivo:

    on (press) { // quando premo questo pulsante... (la graffa aperta è il "then")
    _root.gotoAndPlay (10); //... numero del frame che voglio raggiungere
    } // la graffa chiusa è: "Fine istruzione".

    Quindi, se associo la stesso script ad ogni singolo pulsante, cambiando solo il numero del frame da raggiungere, ho già fatto il mio menu senza la necessità di alcuna condizionale.

    Indirettamente: si associa lo script ad un frame (ogni istanza deve avere un nome, affiché sia riconoscibile all'appello):

    _root.nomePuls1.onPress = function () {
    _root.gotoAndPlay (10);
    }
    _root.nomePuls2.onRelease = function () {
    _root.gotoAndPlay (20);
    }
    _root.nomePuls3.onRollOver = function () {
    _root.gotoAndPlay (30);
    }
    _root.nomePuls4.onRollOut = function () {
    _root.gotoAndStop (1);
    }

    Sebbene lo script sia tutto associato ad un solo frame, i pulsanti svolgono le loro funzioni solo se interpellati (tramite il nome d'istanza) e del tutto indipendentemente, gli uni dagli altri.

    Anche in questo caso le condizionali non hanno ragion di esistere.

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

  3. #3
    Premesso che quanto ti ha spiegato NAP non fa una grinza e risolve il tuo problema nella maniera più pratica e lineare, voglio aggiungere qualcosa rifacendomi al titolo della discussione che hai aperto e cioè Ricavare il nome di un'istanza...

    Il sistema più semplice normalmente è:
    this._name

    Nel caso specifico di un pulsante però le cose si complicano un pochino in quanto, ancorché sia attribuibile un nome istanza ad un pulsante, se tu gli associassi il codice indicato sopra NON otterresti il suo nome bensì quello della timeline sulla quale si trova: p.es. _root se il pulsante si trova sulla timeline principale. Questo accade in quanto "this" (per un pulsante) referenzia la timeline su cui si trova.

    Nel caso tu dovessi associare un codice del genere ad un pulsante e non potessi utilizzare i metodi suggeriti da NAP (per esempio nel caso di una generazione automatica dei pulsanti di un menu tramite duplicazioni e/o metodi simili) allora il sistema migliore è quello di "includere" il pulsante in un MovieClip (basta selezionarlo e premere F8) e attribuire il nome istanza a questo nuovo clip creato.
    A questo punto l'istruzione indicata all'inizio:
    this._name
    restituirebbe il nome istanza del mc che contiene il pulsante medesimo e quindi ti permetterebbe di fare tutti i test che vuoi (anche se "concettualmente" discutibile, ma questo è un altro discorso).

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.