|
Forum Flash, Actionscript, PHP e MySQL
|
|
|
|
|
|
| Autore |
Messaggio |
LeeFX
principiante

Registrato: 18/10/09 08:32
Messaggi: 35
|
Oggetto: Ereditarietà parziale: è possibile? (CS 4, AS 2.0)
Inviato: 02.03.10 | 19:59 |
|
|
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 |
|
|
Sponsor
|
|
 |
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4546
Località: Verona
|
Oggetto:
Inviato: 03.03.10 | 00:24 |
|
|
Ciao LeeFX,
no... quello che hai chiesto tu non si può fare, almeno per quel che ne so io.
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.  ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
LeeFX
principiante

Registrato: 18/10/09 08:32
Messaggi: 35
|
Oggetto:
Inviato: 03.03.10 | 02:37 |
|
|
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?  |
|
| Torna in cima |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4546
Località: Verona
|
Oggetto:
Inviato: 03.03.10 | 02:47 |
|
|
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
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
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 |
|
|
LeeFX
principiante

Registrato: 18/10/09 08:32
Messaggi: 35
|
Oggetto:
Inviato: 03.03.10 | 14:22 |
|
|
| 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 |
|
|
Coach
amministratore


Età: -1981
Registrato: 31/01/03 13:50
Messaggi: 4546
Località: Verona
|
Oggetto:
Inviato: 05.03.10 | 13:17 |
|
|
Si, ok... ma non era questo l'obiettivo del topic o sbaglio?  ____________________________________________________________
Il Forum è uno strumento di condivisione, oltre a fare DOMANDE, si possono anche dare RISPOSTE! |
|
| Torna in cima |
|
|
LeeFX
principiante

Registrato: 18/10/09 08:32
Messaggi: 35
|
Oggetto:
Inviato: 05.03.10 | 14:39 |
|
|
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  |
|
| Torna in cima |
|
|
|
|
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
|
|