J'ai besoin d'un moyen de copier dynamiquement le contenu d'un clip (avec plusieurs images) dans un autre en utilisant as3.Comment copier le contenu d'un clip (avec plusieurs images) sur un autre clip dans flash actionscript 3?
Voici comment j'ai essayé de le faire:
var table:Table = new Table(); //A custom class that extends MovieClip.
var swf:MovieClip = this.content.swf; //The movie clip I want to copy from.
for (var z:int = 0; z < swf.totalFrames; z++) //for every given frame of swf.
{
swf.gotoAndStop(z);
table.gotoAndStop(z);
for (var i:int = 0; i < swf.numChildren; i++) //for every child of swf.
{
table.addChild(swf.getChildAt(i)); //copy child from swf to table.
}
}
Cela ne fonctionne pas correctement. Il copie seulement la première image. Comment puis-je copier chaque image de swf sur la table afin que la table puisse jouer et s'arrêter à travers l'animation tout comme swf peut le faire?
Aucune de ces solutions ne peut m'aider, car mon swf n'a pas d'export vers AS et je ne veux pas utiliser BitmapData car j'ai besoin de mettre à l'échelle mon movieClip sans perte de qualité. J'ai donc créé un nouveau MovieClip et ajouté l'autre en tant qu'enfant, pas parfait, mais assez bon puisque comme vous l'avez dit, il semble qu'il n'y ait pas d'autre moyen de dupliquer un MovieClip dans AS3. Merci pour la réponse. –
Eh bien, si vous n'avez pas réellement besoin de deux copies du clip - vous en avez juste besoin déplacé d'un endroit à l'autre - puis reparent il devrait bien fonctionner. (D'ailleurs, c'est ce que faisait votre code original - quand vous ajoutez un clip à quelque part, vous le supprimez de ce qu'il était auparavant.) Mais en remarque, la solution Bitmap fonctionnerait toujours avec la mise à l'échelle. Lorsque vous restituez un élément dans une image bitmap (avec la méthode BitmapData.draw()), vous pouvez spécifier une transformation (avec rotation, mise à l'échelle, etc.) à appliquer lors du rendu du clip. – fenomas