documentation flash movieclip duplicatemovieclip

Vous êtes ici: Les articles techniques » documentation » Eléments du langage ActionScript » MovieClip » duplicateMovieClip (méthode MovieClip.duplicateMovieClip)

duplicateMovieClip (méthode MovieClip.duplicateMovieClip)

 
public duplicateMovieClip(name:String, depth:Number, [initObject:Object]) : MovieClip

Crée une occurrence du clip spécifié lors de la lecture du fichier SWF. La lecture des clips dupliqués commence toujours à l’image 1, quelle que soit l’image dans laquelle se trouve le clip initial lorsque vous appelez la méthode duplicateMovieClip(). Les variables du clip parent ne sont pas copiées dans le clip dupliqué. Les clips créés avec la méthode duplicateMovieClip() ne sont pas dupliqués si vous appelez la méthode duplicateMovieClip() sur leur parent. Si le clip parent est supprimé, le clip dupliqué l’est également. Si vous avez chargé un clip via la classe MovieClip.loadMovie() ou le MovieClipLoader, le contenu du fichier SWF n’est pas dupliqué. Cela signifie que vous ne pouvez pas économiser de la bande passante en chargeant un fichier JPEG, GIF, PNG ou SWF, puis en dupliquant le clip. Il en est de même pour les clips attachés dans le clip à dupliquer via MovieClip.attachMovie().

Comparez cette méthode à la version fonction globale de duplicateMovieClip(). La version globale de cette méthode nécessite un paramètre spécifiant le clip cible à dupliquer. Ce type de paramètre n’est pas nécessaire pour la version classe MovieClip, dans la mesure où la cible de la méthode est l’occurrence de clip pour laquelle la méthode est appelée. De plus, la version globale de duplicateMovieClip() ne prend en charge ni le paramètre initobject ni la valeur renvoyée par une référence à la nouvelle occurrence de MovieClip.

Disponibilité : ActionScript 1.0 ; Flash Player 5

Paramètres

name:String - Identifiant unique pour le clip dupliqué.

depth:Number - Entier unique spécifiant la profondeur à laquelle le nouveau clip doit être placé. Utilisez la profondeur -16384 pour placer la nouvelle occurrence de clip sous l’ensemble des contenus créés dans l’environnement de programmation. Les valeurs comprises entre -16383 et -1, inclus, sont réservées à l’environnement de programmation et ne doivent pas être utilisées avec cette méthode. Les valeurs de profondeur restantes vont de 0 à 1048575, inclus.

initObject:Object [facultatif] - (Pris en charge à partir de Flash Player 6.) Objet contenant les propriétés permettant de remplir le clip dupliqué. Ce paramètre permet aux clips créés de façon dynamique de recevoir des paramètres. Si initObject n’est pas un objet, il est ignoré. Toutes les propriétés de initObject sont copiées dans la nouvelle occurrence. Les propriétés spécifiées avec initObject sont disponibles pour la fonction constructeur.

Valeur renvoyée

MovieClip - Référence au clip dupliqué (pris en charge à partir de Flash Player 6).

Exemple

L’exemple suivant duplique un nouveau MovieClip un certain nombre de fois et présente la cible pour chaque double.

var container:MovieClip = setUpContainer();
var ln:Number = 10;
var spacer:Number = 1;
var duplicate:MovieClip;
for(var i:Number = 1; i < ln; i++) {
     var newY:Number = i * (container._height + spacer);
     duplicate = container.duplicateMovieClip("clip-" + i, i, {_y:newY});
     trace(duplicate); // _level0.clip-[number]
}
 
function setUpContainer():MovieClip {
     var mc:MovieClip = this.createEmptyMovieClip("container", this.getNextHighestDepth());
     var w:Number = 100;
     var h:Number = 20;
     mc.beginFill(0x333333);
     mc.lineTo(w, 0);
     mc.lineTo(w, h);
     mc.lineTo(0, h);
     mc.lineTo(0, 0);
     mc.endFill();
     return mc;
}

La méthode MovieClip.getNextHighestDepth() utilisée dans cet exemple nécessite Flash Player 7 ou une version ultérieure. Si votre fichier SWF comprend un composant de la version 2, utilisez les composants de la version 2 de la classe DepthManager au lieu de la méthode MovieClip.getNextHighestDepth().

Voir également




veille
inscrits inscrits ! Compensation à la rédaction
  • Inscription au wiki
  • Connexion

vod