salve gente: chi mi sa dare una spiegazione della differenza tra _global e _root quando si parla di scope delle variabili?
grazie
salve gente: chi mi sa dare una spiegazione della differenza tra _global e _root quando si parla di scope delle variabili?
grazie
scope?
_root. è relativo a un solo swf, mentre _global. vale per tutti, anche quelli caricati con loadmovie
![]()
scope!
_root è relativo solo alla _root dell'swf, _global è relativo all'ASNative, cioè all'interprete ActionScript.
Praticamente _root.pippo sarà accessibile dalla _root chiamando semplicemente pippo, mentre _global.pippo sarà accessibile da tutti i mc di tutti i livelli di tutti gli swf caricati da quell'ìstanza dell'interprete AS, cioè in pratica dappertutto in quell'<OBJECT> ma non in altri movie eventualmente nella pagina HTML.
Facendo così, però, ti precludi di istanziarti un'altra cosa che magari vorrai chiamare proprio "pippo" da qualsiasi altra parte del filmato, perché il risultato sarà di "mascherare" il pippo "globale" finché chiamerai pippo da quel mc.
grazie a entrambi
allora se passo delle variabili entro il tag <OBJECT> le devo considerare come _global e saranno accessibili anche da altri swf caricati ento il movie principale vero?
No!
Saranno _level0._scene1._root.nomeVariabile ma non chiedermi il perché!
In pratica è come scrivere:
var nomeVariabile = "pippo"
nella _root dell'swf principale.
In effetti le dichiarazioni _global in genere io le ho viste solo per classi nuove, cioè prototipi.
Non mi è mai capitato di dover usare variabili global.