Boh...non saprei dirti nulla () ma vedi se questo articolo puo esserti utile:
this.root - trucco del giorno
This is a discussion on root e stage Un aiuto ad un principiante within the Actionscript 3.0 base forums, part of the Flash Italiano category; Salve, da poco sto affrontando Flash CS3 e lo studio di Actionscript 3.0, e ho qualche perplessità. Spero che mi ...
Salve, da poco sto affrontando Flash CS3 e lo studio di Actionscript 3.0, e ho qualche perplessità. Spero che mi possiate aiutare:
La questione riguarda soprattutto Root.
Ho capito che:
-Root rappresenta la Time Line principale
-Root è un'istanza della Classe Documento (se non è definita viene creata di default da flash)
-Root è anche un DisplayObjectContainer perchè la sua classe estende la classe Sprite o MovieClip che sono eredi della classe DisplayObjectContainer. Come tale può contenere altre istanze di classe DisplayObject come "figlie", organizzate in un elenco di visualizzazione.
-non c'è un riferimento globale per accedere a Root, ma vi si accede tramite la proprietà
root di ciascun DisplayObject suo "figlio".
Infatti se scrivo nella classe di un suo "figlio"
trace (root) oppure trace (this.root)
ottengo "object NomeClasseDocumento" che mi dice che si tratta di un'istanza della classe documento.
trace (root.name)
ottengo "root1" che dovrebbe essere il nome dell'istanza Root
Fatemi notare se ho sbagliato qualcosa, evidentemente da qualche errore deriva la mia successiva incomprensione.
I problemi iniziano quando devo usare root nella sintassi del punto.
Se sono nella document class, this rappresenta Root, giusto? e posso scrivere
this.istanza_1.x=6
per cambiare la posizione di istanza_1, un oggetto qualsiasi presente nel suo elenco di visualizzazione.
Ma perchè mai da qualsiasi altra parte al di fuori della document class (ad esempio in un'altra classe legata a un MovieClip qualsiasi presente nell'enco di visualizzazione di Root) non posso scrivere:
root.istanza_1.x=6
per fare la stessa cosa???
Grazie per l'aiuto.
Boh...non saprei dirti nulla () ma vedi se questo articolo puo esserti utile:
this.root - trucco del giorno
CSS.FlepStudio.org in english: css tutorials, free css template and css menu
Conversione da PSD a XHTML/CSS - Creazione siti web - Introduzione CSS3
Grazie per la mano!
Ho letto il trucco che mi suggerisci, ma ho incontrato difficoltà ad applicarlo:
quando cerco di assegnare root ad una variabile di tipo MovieClip mi da l'errore in esecuzione:
TypeError: Error #1009: Impossibile accedere a una proprietà o a un metodo di un riferimento oggetto null.
Comunque sono io a sbagliare qualcosa nell'applicazione del trucco e devo ancora capire cosa.
Comunque, ponendo la questione più in generale, se sullo stage sono visualizzati un oggetto A e uno B, noto che:
Da un oggetto A posso accedere facilmente a proprietà e metodi degli oggetti contenuti nel suo elenco di visualizzazione A1 A2 A3 ecc, con la semplice sintassi del punto, mentre, sempre dall'oggetto A, è molto difficile accedere a proprietà e metodi di B o dei suoi oggetti contenuti B1 B2 B3.
Cioè si può fare, ma solo tramite lo stratagemma che mi suggerisci:
var m:MovieClip=this.root as MovieClip;
Allora mi pongo la questione se nella programmazione ad oggetti sia magari più giusto scrivere un codice dove non si ponga proprio la seconda esigenza che ho citato nell'esempio. (in pratica, risalire la gerarchia di visualizzazione invece di scenderla) Non sono per niente esperto di OOP.![]()
Bookmarks