2012-01-01 17 views
5

Ho due simboli MovieClip nella mia libreria e voglio che condividano la stessa classe, ma Flash non mi consente di assegnare la stessa classe a due simboli MC diversi, quindi invece io creato due classi fasulli che estendono la classe che desideravo condividere inizialmente.AS3 Due MovieClips che condividono la stessa classe

Quindi avere due simboli MC definiti da 2 classi diverse che estendono una classe diversa mi consente di condividere lo stesso pezzo di codice.

La mia domanda: c'è un modo migliore per condividere una classe tra 2 o più simboli di libreria diversi?

+1

Non hai creato classi fasulle. Vedi il mio commento sulla risposta di @ Cameron. Sia che si definisca una classe o meno, ogni singolo elemento della libreria è già una classe unica e se non si specifica l'identificatore della classe, Flash ne crea uno automaticamente. –

+0

@BoltClock hai sbagliato a rimuovere i tag Flash CS5/CS4/CS3. Questo è specificamente correlato all'IDE. –

+0

Sì, hai ragione. Avrei dovuto scegliere le mie parole meglio. Quando ho detto fasullo, in realtà stavo pensando ai proxy. Inoltre, grazie per le informazioni sul fatto che Flash crea automaticamente classi per ogni singolo elemento della libreria, ho pensato che Flash crea automaticamente le classi solo per i simboli che contengono il codice e che inserirà quelli in un pacchetto creato automaticamente che mette a nudo il nome dello swf esportato file preceduto da _fla (es. ExportedSwfName_fla). – IneedHelp

risposta

4

Qualsiasi cosa tu stia facendo, non capisci il concetto di "usare" una classe associata a un oggetto clip filmato. È impossibile per te assegnare lo stesso nome di classe a entrambi gli oggetti e anche se lo sei, credimi l'IDE sta in realtà creando due oggetti diversi che estendono la classe originale. È possibile assegnare un elemento della libreria direttamente a una classe oppure definire un nuovo nome classe che ESTENDI il file/classe .as a cui si fa riferimento come classe base. Quest'ultima è la soluzione pensata per applicare semplicemente una classe base con funzionalità di base a diversi oggetti.

Un esempio potrebbe essere quello di definire una classe base che recuperi il rollover e il roll out degli eventi e fa crescere e ridurre la clip al roll-in/out. Quindi fai 10 diversi tipi di pulsanti nel Movie Clip e assegna la classe che hai creato come classe base, dando un nome univoco all'oggetto della libreria stesso.

+1

Di voi per il chiarimento e l'esempio. – IneedHelp

+0

L'utilizzo di una classe base è abbastanza comune per ottenere questo tipo di comportamento. –

+0

+1, questo è molto meglio della mia risposta (ora cancellata). Ho dimenticato di nominare gli oggetti della libreria ... – Cameron