Je suis assez nouveau pour as3, mais le jeu que je fais nécessite l'utilisation declones. Comment pourrais-je les faire (je sais que cela implique d'utiliser l'enfant mais je ne sais pas comment les faire)? J'ai également besoin de faire une fonction qui définit leur emplacement à des endroits aléatoires à l'écran, comment ferais-je cela? Je ne suis pas sûr de savoir comment je ferais référence aux emplacements x et y du clone sans qu'il bouge tous les 50 d'entre eux. MerciComment cloner un objet dans as3
-1
A
Répondre
3
La meilleure façon de faire des clones de tout est d'attribuer la classe AS3 à l'élément de la bibliothèque (disons que vous avez nommé la classe QUELQUE CHOSE) et puis instancier avec le nouvel opérateur et ajoutez à afficher la liste avec addChild (...) méthode.
import SomeThing;
// Lets create a list to keep things.
var things:Vector.<SomeThing> = new Vector.<SomeThing>;
function addThing():SomeThing
{
// Create.
var result:SomeThing = new SomeThing;
// Put it to a list for further reference.
things.push(result);
// Add it to display list.
addChild(result);
return result;
}
// Create one thing.
// This one will go to (0,0) coordinates.
addThing();
// You can create several things.
for (var i:int = 0; i < 100; i++)
{
var aThing:SomeThing = addThing();
aThing.x = 100 + 200 * Math.random();
aThing.y = 100 + 100 * Math.random();
}
// Now you can address things via list access.
things[49].x = 50;
things[49].y = 50;
@NealDavis Si le constructeur ne requiert aucun argument obligatoire, le caractère() peut être omis. C'est bien. – Organis