Forum Flash, Actionscript, PHP e MySQL
Ereditarietà parziale: è possibile? (CS 4, AS 2.0)

 
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » ActionScript & Server Side
Precedente  Successivo 
Autore Messaggio
LeeFX
principiante
principiante



Registrato: 18/10/09 08:32
Messaggi: 35

MessaggioOggetto: Ereditarietà parziale: è possibile? (CS 4, AS 2.0)
Inviato: 02.03.10 | 19:59
Rispondi citando

Se attacco ad un movieclip "padre" ad un movieclip "figlio", usando attachMovie(), è possibile fargli ereditare solo alcune proprietà del padre?

Ad esempio, se modifico _rotation al padre, voglio che il figlio ruoti di conseguenza, come normalmente accade, ma se diminuisco _alpha al padre, non voglio che il figlio diventi più trasparente.

È possibile dire "questo lo erediti, questo no" ?


NOTA: Non devo fare questo, è solo un esempio per rendere l'idea.
Torna in cima
Profilo Messaggio privato  
Sponsor
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4546
Località: Verona

MessaggioOggetto:
Inviato: 03.03.10 | 00:24
Rispondi citando

Ciao LeeFX,
no... quello che hai chiesto tu non si può fare, almeno per quel che ne so io. fagiano

Puoi però strutturare il tuo mc "padre" in maniera "ad hoc", cioè, rifacendoti al tuo esempio... potresti avere un mc "contenitore", con all'interno 2 mc.
1 mc a cui applichi l'alpha, mentre all'altro no, se vuoi ruotare entrambi, basta che ruoti il contenitore. fagiano

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
LeeFX
principiante
principiante



Registrato: 18/10/09 08:32
Messaggi: 35

MessaggioOggetto:
Inviato: 03.03.10 | 02:37
Rispondi citando

mmh... probabilmente dirò una cavolata.

Cmq,
venendo dal C++ (ma vale per qualsiasi linguaggio a oggetti), si può fare l'override di un metodo o di una proprietà ereditata.

Facendo qualche ricerca ho visto che in AS 3 esiste la funzione "override" che mi pare adempia allo scopo...

Nell'esempio fatto, si potrebbe fare l'override di _alpha sul movieclip "figlio", o qualcosa del genere...

Non so come funzionerebbe in AS 2 (non esiste la funzione "override"), ma mi pare strano che in un linguaggio a oggetti non esista l'equivalente dell'override?

Ho detto una cavolata? Very Happy
Torna in cima
Profilo Messaggio privato  
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4546
Località: Verona

MessaggioOggetto:
Inviato: 03.03.10 | 02:47
Rispondi citando

Qua però stai parlando di altre cose, estendere una classe e sovrascrivere dei metodi/proprietà non si addice a ciò che hai portato come esempio Mr. Green

Se tu imposti ad un oggetto MovieClip "padre" la proprietà alpha ad esempio a .5, l'oggetto MovieClip "figlio", contenuto nel padre, avrà anche lui la proprietà alpha impostata a 1, ma essendo contenuto nel padre, sarà 1 * .5 = .5. (un po' come il font-size nei CSS con em e %).

Io non sono un gran programmatore, ma l'esempio che hai portato tu (attachMovie) è quanto fagiano

Per verificarlo, ti basterà:
» aprire un nuovo documento FLA
» creare un nuovo movieclip
» creare al suo interno un nuovo movieclip
» provare ad impostare l'alpha dalle proprietà :)

____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
LeeFX
principiante
principiante



Registrato: 18/10/09 08:32
Messaggi: 35

MessaggioOggetto:
Inviato: 03.03.10 | 14:22
Rispondi citando

 
Coach ha scritto:

Se tu imposti ad un oggetto MovieClip "padre" la proprietà alpha ad esempio a .5, l'oggetto MovieClip "figlio", contenuto nel padre, avrà anche lui la proprietà alpha impostata a 1, ma essendo contenuto nel padre, sarà 1 * .5 = .5.


Ottimo,
non mi era chiaro questo passaggio :)

In tal caso il problema è aggirabile in questo modo:

 
Codice:
_alpha *= 1 / _parent._alpha;
//da aggiornare quando cambia _parent._alpha.


Non è come non ereditare l' _alpha del padre, ma il risultato è lo stesso.
Torna in cima
Profilo Messaggio privato  
Coach
amministratore
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4546
Località: Verona

MessaggioOggetto:
Inviato: 05.03.10 | 13:17
Rispondi citando

Si, ok... ma non era questo l'obiettivo del topic o sbaglio? Whistle
____________________________________________________________


Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE!
Torna in cima
Profilo Messaggio privato [ Nascosto ] HomePage Yahoo Messenger MSN Messenger Skype
LeeFX
principiante
principiante



Registrato: 18/10/09 08:32
Messaggi: 35

MessaggioOggetto:
Inviato: 05.03.10 | 14:39
Rispondi citando

no, non sbagli

Se ho capito bene, tecnicamente il movieclip figlio non eredita nulla dal padre, perchè non è una classe che estende un'altra classe, anche se funziona in modo simile.

Semplicemente attachMovie() installa delle "funzioni di rapporto" tra padre e figlio, e non c'è override che tenga, visto che sono funzioni core che non sappiamo nemmeno come si chiamano.

A questo punto si possono solo fare delle "controfunzioni" che annullano l'effetto di quest'ultime, come nell'esempio che ho fatto... ma è sempre un aggirare il problema, senza risolverlo alla radice.

Questo almeno è quello che ho capito... poi non so Mr. Green
Torna in cima
Profilo Messaggio privato  
Mostra prima i messaggi di:   
Nuovo Topic   Rispondi    Forum Flash, Actionscript, PHP e MySQL » ActionScript & Server Side Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

Discussioni Simili
Topic Autore Forum Risposte Ultimo Messaggio
Nessun nuovo messaggio e' possibile unire messaggi su phpbb? elena PHP 1 02.11.06 | 12:22 Leggi gli ultimi messaggi
Coach
Nessun nuovo messaggio inserire contatore shinystat nel film... egahim Flash Generale 6 08.07.05 | 19:57 Leggi gli ultimi messaggi
egahim
Nessun nuovo messaggio Come è possibile realizzare questo? (... Lupin77 ActionScript & Server Side 2 09.09.08 | 18:17 Leggi gli ultimi messaggi
Lupin77



 
Vai a:  
Non puoi inserire nuovi Topic in questo forum
Non puoi rispondere ai Topic in questo forum
Non puoi modificare i tuoi messaggi in questo forum
Non puoi cancellare i tuoi messaggi in questo forum
Non puoi votare nei sondaggi in questo forum
Non puoi allegare files in questo forum
Puoi downloadare gli allegati in questo forum



Powered by phpBB © 2001, 2002 phpBB Group - phpBB SEO Designed by coachdesign - © 2003-2005