Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Quando devo usare parent o root?

Quando devo usare parent o root?

Quando devo usare parent o root?

Link copiato negli appunti

_root, _parent , e this, sono tre proprietà che restituiscono un riferimento a tre diverse timeline:

  • _root restituisce un riferimento alla timeline principale del livello dal quale è invocata
  • _parent restituisce un riferimento alla timeline che contiene quella dalla quale è invocata
  • this restituisce un riferimento alla timeline nella quale è invocata (e il riferimento all’oggetto che contiene il metodo nella quale è invocata)

escludendo il riferimento all’oggetto, proprio del this, le tre proprietà servono a stabilire il percorso di una timeline, una in senso assoluto, una in senso relativo, e l’altra con un riferimento a se stessa.

Se ad esempio voglio accedere al movieclip esterno contenuto nella timeline principale, da qualunque posizione io mi trovi, potrò accedervi tramite:

_root.esterno

Partendo cioè dalla timeline principale, scendo verso il movieclip oggetto della chiamata. Se voglio raggiungere il movieclip mc1 contenuto in esterno, userò:

_root.esterno.mc1

Primo caso

Primo caso

servendomi quindi del suo percorso assoluto.

Se invece mi trovo nel movieclip mc1, e voglio riferirmi alla timeline di esterno, avrò due scelte. Una è usare il percorso assoluto come visto prima, l’altra è usare il percorso relativo, usando _parent, che permette di salire verso la _root di un livello di annidamento.

Se dal movieclip mc1, voglio riferirmi al mc2, potrò allo stesso modo usare due vie:

percorso assoluto: _root.esterno.mc2, che funziona da qualunque posizione

percorso relativo: _parent.mc2

che mi permette di salire di un livello, trovandomi quindi in esterno, per poi ridiscendere verso il movieclip finale.

Questo tipo di approcio, vale anche nel caso seguente:

Secondo caso

Secondo caso

da dentro mc1, mi riferirò ad mc2 o con:

_root.esterno.interno.mc2

o più semplicemente con

_parent.mc2

Il _parent, inoltre, può essere usato più volte, facendo risalire il riferimento di più livelli. Se da mc1 voglio riferirmi a esterno, utilizzerò:

_parent._parent

Inoltre, il _parent non si riferisce solo al movieclip dal quale viene invocata l’azione, ma anche ad un qualsiasi altro movieclip. Ad esempio, dalla root, posso per assurdo riferirmi al movieclip che contiene mc2 con:

_root.esterno.interno.mc2._parent