Pulsante AS3 che non esiste ancora
-
05-07-2019 - |
Domanda
Quando lavoriamo con i pulsanti impostiamo il nostro listener e la funzione che usa, ma se abbiamo il pulsante animato o mostrato altrove in un frame successivo, avremo un errore dicendo che l'oggetto non esiste.
Quale sarebbe l'approccio più comune o corretto, impostare le nostre funzioni sul fotogramma 1, quindi collegare l'ascoltatore sul fotogramma in cui entra il pulsante? o tieni il nostro pulsante sempre lì solo non visibile fino alla cornice necessaria? o c'è un altro approccio?
Soluzione
È corretto. Se successivamente stai creando il pulsante in un altro frame, allora non esiste e otterrai l'errore.
La migliore pratica è quella di tenere insieme tutto il codice in un posto centrale. Non appena si inizia a inserire ActionScript in diversi frame, diventa più difficile da gestire e mantenere.
Impostare le funzioni nel fotogramma 1 e quindi nascondere / mostrare o abilitare / disabilitare è meglio che aggiungere ascoltatori in diversi fotogrammi. In questo modo sai che tutto il codice è nel frame 1.
Personalmente non mi piace affatto usare i frame come se avessi del codice nel primo frame, e quindi riproduci la clip, quando la riproduci di nuovo perderai tutti i dati locali che avevi (dai suoni di questo non è un grosso problema per questo progetto). Ho visto in prima persona il disordine (altri non me stesso) causato dalla diffusione del codice attraverso la sequenza temporale.
La mia raccomandazione è di avere sempre solo 1 fotogramma e avere livelli che nascondi e mostri quando necessario. Se hai delle animazioni, inseriscile in un MovieClip e poi posizionalo sul palco nel fotogramma 1.