As3 This[] pour un sous objet

Résolu
cs_solage Messages postés 6 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 25 novembre 2011 - 21 nov. 2011 à 16:45
cs_solage Messages postés 6 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 25 novembre 2011 - 25 nov. 2011 à 15:20
Bonjour,
Je reviens de nouveau pour un problème avec "this[]".
Je n'arrive pas à appeler dynamiquement un sous objet...
exemple:
objet1.objetDedans1.x=10
je voudrais pourvoir faire un appel dans ce genre:
this["objet"+x+".objetDedans"+y].x=z
Merci par avance pour celui ou celle qui se penchera sur mon problème.
Solage.

4 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
23 nov. 2011 à 06:38
Bonjour, tu ne peux plus fonctionner comme celà en AS3.
C'est ce que l'on appelle un "résidut d'AS2" ta façon de programmer.
Maintenant, si tu crées des objets à la volée, il suffit de les placer dans un tableau et d'appeler chaque case de ton tableau pour pouvoir les contrôler :

var tab:Array = new Array();
for (var i:int=0; i<10; i++) {
   var spr:Sprite = new Sprite();
   tab.addChild(spr);
}


ensuite pour les contrôler :

tab[0].x = ...


Peg'
3
aerolyte Messages postés 465 Date d'inscription mardi 17 avril 2007 Statut Membre Dernière intervention 4 mai 2013 1
23 nov. 2011 à 10:19
bonjour,
la seconde manière de faire et de les nommer
var spr:Sprite,i:int;
for(i=0;i<10;i++){
   spr=new Sprite();
   spr.name="spr"+i;
   parent.addChild(spr);
}

ensuite pour appeler
var a:int=...
var cible:Sprite=parent.getChildByName("spr"+a);
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
23 nov. 2011 à 11:21
... même si cette méthode reste similaire à l'AS2 ...

Peg'
0
cs_solage Messages postés 6 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 25 novembre 2011
25 nov. 2011 à 15:20
Bonjour,
Merci pour vos réponses. Je vais me creuser la tête la dessus.
En effet c'était le mode de raisonnement qui n'était pas adapté.
@ bientôt
0