2010-08-05 8 views
0

Pouvez-vous ajouter un MovieClip à la scène d'une classe enfant? Ma configuration est la suivante:Ajouter un MovieClip à la scène de la classe enfant dans Flash

DocumentClass 
->SubFolder 
--->ChildClass1 
--->ChildClass2 

DocumentClass appelle ChildClass1 et crée une instance de celui-ci. ChildClass1 a dans son constructeur un appel pour ChildClass2 et en crée une instance.

Quelle est la manière la plus propre d'ajouter ChildClass2, qui est la classe d'un MoveClip, à la scène? Jusqu'à présent, les méthodes que j'ai essayées sont:

parent.addChild(ChildClass2) 

et

envoyer l'objet à l'étape ChildClass1 dans elle est appel constructeur sur DocumentClass. Puis:

stage.addChild(ChildClass2) 

sont-elles les seules méthodes, ou y at-il d'autres moyens qui n'ont pas les dépendances nécessaires sur d'autres fichiers pour ajouter le MovieClip (ChildClass2) à la scène?

Edit: Je travaille avec AS3 et Flash CS5

Edit2: Jusqu'à présent, la seule solution qui fonctionne pour moi passe à l'étape ChildClass un, puis appeler stage.addChild().

Répondre

2

Dans votre instance ChildClass1, qui crée l'instance ChildClass2 (si je l'ai bien suivi), vous pouvez juste faire:

addChild(childClass2Instance); 

Cela va ajouter à la scène. Je ne vois pas pourquoi vous auriez besoin de le compliquer davantage, bien que si vous voulez que l'objet soit dans l'espace de coordonnées de la classe Document, alors parent.addChild(); devrait faire ce que vous voulez. Je ne suis pas sûr si vous dites que ces deux solutions n'ont pas fonctionné, ou si vous cherchez juste d'autres possibilités.

En réponse à votre première question cependant ("Pouvez-vous ajouter un MovieClip à la scène d'une classe enfant?"), Oui vous pouvez, simplement en faisant addChild. C'est toujours l'étape, même s'il s'agit de l'espace de coordonnées d'un objet enfant. Je suppose que vous pourriez créer un événement personnalisé qui se déclencherait une fois que le constructeur de votre ChildClass1 aurait terminé ses tâches (dont je suppose qu'il est en train de créer une instance ChildClass2), écouté par la classe Document, et en détectant l'événement il ajoute l'objet qu'il reçoit à la scène. Si vous voulez que j'illustre comment vous feriez cela, je peux aller chercher du code, mais pour l'instant je ne peux pas imaginer quel avantage cela vous apporterait.

De toute façon, espérons au moins une partie de cette aide!

Debu

+0

parent.addChild (ChildClass2instance) ne fonctionne pas pour moi. Flash renvoie l'erreur "Accès du parent de propriété non défini". Jusqu'à présent, la seule solution qui fonctionne pour moi est de passer la scène à ChildClass, puis d'appeler stage.addChild(). – Organiccat

+0

Ok, mais je ne vois toujours pas pourquoi vous ne pouvez pas faire addChild() à partir de ChildClass1? Cela va certainement ajouter votre MovieClip à la scène, sans erreurs. Y at-il une raison pour laquelle cette méthode n'est pas bonne pour vous? – debu

+0

J'ai une erreur à propos de addChild() n'était pas une fonction reconnue. – Organiccat