Le référencement aux objets enfants par les crochets "[]"

Résolu
nymoda
Messages postés
7
Date d'inscription
lundi 20 janvier 2003
Statut
Membre
Dernière intervention
1 avril 2009
- 21 nov. 2008 à 22:24
nymoda
Messages postés
7
Date d'inscription
lundi 20 janvier 2003
Statut
Membre
Dernière intervention
1 avril 2009
- 27 nov. 2008 à 17:00
Bonjour et merci de votre aide :)

Je crois avoir un gros nuage gris lorsque l'on fait référence à un objet :

Voici :
si nous avons une chaine de caractère du genre "container1/image"

container1 : étant un MovieClip chargé par un createEmptyMovieClip
image        : étant aussi un MovieClip chargé par un createEmptyMovieClip

Que je veux y accéder en me référant par les crochets...
Es-ce que le fait d'avoir un "/" dans la chaine peut nuire dans les lignes de commandes ?exemple :

var Var_string = "container1/image"; 
trace(MainObject.Second[Var_string]);
//ici le résultat est : undefined




Merci de m'aider à comprendre ce petit noeud qui ma foi...m'en fait baver un brin!





Nymoda

2 réponses

crackter
Messages postés
401
Date d'inscription
mercredi 12 novembre 2003
Statut
Membre
Dernière intervention
31 janvier 2010

27 nov. 2008 à 08:46
Salut,

on utilise le pointage plutôt que le slash dans l'arborescence d'objets.

Sinon pour le soucis de référence, il faut savoir qu'à chaque création d'un objet "enfant", il est inscrit dans la table de l'objet en cours.

Ici container1 sera donc ajouté à la table du _root (imaginons) donc on pourra y accéder par _root["container1"].

Si on ajoute une image dans container1, il sera accessible depuis le tableau de son parent, c'est à dire container1["image"].

Si on essaye de regrouper les 2, cela donnera non pas _root["container1.image"] mais _root["container1"]["image"].

Dans ton cas, il essaye de retrouver un objet qui appartient à _root et qui s'appelle "container1.image" (peut importe le pointage ici vue que c'est un string et non une référence).

Sinon la référence la plus simple reste quand même de faire un container1.image directement, tout dépend de son utilisation dans le code.
3
nymoda
Messages postés
7
Date d'inscription
lundi 20 janvier 2003
Statut
Membre
Dernière intervention
1 avril 2009

27 nov. 2008 à 17:00
Trop fort...parfois on tente de trouver des solutions plus complexe qu'elle le sont ... chapeau et merci!

Ce qui m'a fait allumer est le : ["container1"]["image"]
J'ai donc "splitté" ma chaine de façon à obtenir séparément mes références aux objets!

haaa oui oui ... trop fort merci encore

Nymoda
0