Forum de discussion
Forum « Flash et Shockwave » (archives)
Re: attachMovie dynamique et profondeur
Envoyé: 20 septembre 2006, 11h25 par Oznog
Permièrement ce n'est pas un loadMovie ou loadMovieNum sur un _level. C'est un « attachMovie » qui est dans la librairie et à une profondeur. Pour les détruire tu ne peux pas faire de boucle unloadMovieNum(1+i) comme ton exemple.
Il y a aussi plusieurs problèmes avec ton script. Notamment l'index « i » qui est une variable locale à la fonction « calChanged » et non pas globale. Mais tu l'utilise dans une autre fonction. C'est elle qui est à la base des informations retrounées par la fonction « affiche() ». Elle peut bien retourner les mauvaises informations. MEt la globale ou passe-la en paramètre en même temps que la variable « events ».
D'ailleurs en passant, attendtion a tes nom de variables, certains portent à confusion et la plupart son non-significatif.
D'autre part:
var mc = attachMovie("mc","mc",1+i)
Quand tu attache un clip, tu ne change que le niveau, (i+1) de profondeur, mais le nom reste le même (mc). Pire, tu attache toujours le même clip, d'après le nom de « linkage » (encore mc).
Donc :
attachMovie("nomDeLinkage", "NouveauNomDInstance", getNextHighestDepth())
NouveauNomDInstance.removeMovieClip()
// getNextHighestDepth est pour trouver la prochaine profondeur d'au dessus.
ActionScript 2.0 Language Reference (Tu as la version française dans ton logiciel.)
--------------------------------------------------------
attachMovie (MovieClip.attachMovie method)
public attachMovie(id:String, name:String, depth:Number, [initObject:Object]) : MovieClip
Takes a symbol from the library and attaches it to the movie clip. Use MovieClip.removeMovieClip() or MovieClip.unloadMovie() to remove a SWF file attached with attachMovie() method.
You can extend the methods and event handlers of the MovieClip class by creating a subclass.
Availability: ActionScript 1.0; Flash Player 5
Parameters
id:String - The linkage name of the movie clip symbol in the library to attach to a movie clip on the Stage. This is the name that you enter in the Identifier field in the Linkage Properties dialog box.
name:String - A unique instance name for the movie clip being attached to the movie clip.
depth:Number - An integer specifying the depth level where the SWF file is placed.
initObject:Object [optional] - (Supported for Flash Player 6 and later) An object that contains properties with which to populate the newly attached movie clip. This parameter allows dynamically created movie clips to receive clip parameters. If initObject is not an object, it is ignored. All properties of initObject are copied into the new instance. The properties specified with initObject are available to the constructor function.
Returns
MovieClip - A reference to the newly created instance.
Example
The following example attaches the symbol with the linkage identifier circle to the movie clip instance, which is on the Stage in the SWF file:
this.attachMovie("circle", "circle1_mc", this.getNextHighestDepth());
this.attachMovie("circle", "circle2_mc", this.getNextHighestDepth(), {_x:100, _y:100});
The MovieClip.getNextHighestDepth() method used in this example requires Flash Player 7 or later. If your SWF file includes a version 2 component, use the version 2 components DepthManager class instead of the MovieClip.getNextHighestDepth() method.
Ciao
Oznog
Réponses
|