Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: chemin absolu/relatif, chargement de jpg dans un swf
Envoyé: 19 octobre 2005, 6h31 par dada
Il y a un point important à savoir avec l'utilisation du mot clef "_root". Point d'ailleurs suffisament important pour justifier de ne jamais utiliser ce terme dans un projet (éventuellement pour faire des tests vite faits mais sans plus).
Si tu utilises le terme "_root" dans un swf, _root sera un raccourci vers le _level0 (ou le _levelN si la commande _root se trouve sur un script placé sur le _levelN) de ce swf.
MAIS, une fois ce swf chargé dans un autre swf, ce même "_root" sera désormais un raccourci vers le _levelN du swf principal (celui qui a chargé l'autre) !
Il existe bien une propriété (de la classe MovieClip) "_lockroot", apparue je crois avec MX2004, qui permet de "remédier" à çà. Je met 'remédier' entre guillemets car ce n'est pas une bonne solution, la bonne étant de na pas utiliser de chemins absolus mais bien des chemins relatifs. C'est à dire qu'on part de "this" pour cibler ce qui nous intéresse.
On peut ensuite raccourcir les chemins en créant ses propres raccourcis, par exemple :
--------------------------------------
var mcCible:MovieClip = this._parent.monClip1.monClip2;
//et on utilise maintenant "mcCible" pour cibler "monClip2"
mcCible._x = 100;
--------------------------------------
C'est aussi pour çà qu'il est préférable de rassembler au maximum les différents scripts au même endroit (par exemple sur l'image 1 du scénario) et ne pas en mettre partout. Cà simplifie ensuite les ciblages.
Il est pratique par exemple, de commencer par créer des raccourcis vers les différents objets voulus, puis de les utiliser dans les scripts que l'on écrit après. Si on a besoin de réorganiser l'architecture du projet, il suffit alors de modifier ces raccourcis, et on a pas besoin de modifier tous les ciblages de chaque script.
Je sais pas si mes explications sont suffisament explicites :p tu peux aussi lire dans l'aide de flash, il y a des explications à "_root" mais aussi sur les chemins relatifs, absolus (dans Utilisation de Flash), etc...
++
dada
Réponses
|