2010-04-19 16 views
0

J'ai essayé d'apprendre Action Script 3 ces dernières semaines, en faisant de petits jeux interactifs pour apprendre les bases. Je tombe sur un problème de temps en temps mais la plupart du temps google m'aide.comment accéder à un autre MovieClip dans le flash en AS3

Mais ce problème m'a est resté coincé alors s'il vous plaît aider:

La scène principale contient deux objets (MovieClips), le joueur et un mur. Le joueur a son propre code, donc quand je glisse dans l'objet joueur, je n'ai pas besoin d'écrire de code sur la scène principale pour pouvoir déplacer le joueur.

Tout cela a très bien fonctionné et je voulais maintenant ajouter le mur afin que le joueur ait réellement quelque chose à rebondir.

Maintenant, voici le problème, je veux vérifier si le joueur touche le mur, je l'ai déjà fait mais c'est quand j'ai utilisé la scène principale comme terrain de jeu au lieu de mettre le code dans les clips. Comment puis-je vérifier si le joueur frappe le mur dans le code de mouvement de l'objet joueur?

Répondre

1

Il y a plusieurs façons d'accéder à vos objets, voici une solution possible:

var wall:MovieClip = this.parent.getChildByName("wall") as MovieClip; 

Je suppose que vous avez un lecteur movieClip, ajouté à l'étape directement (sans conteneurs) et le code va à l'intérieur de cet objet . L'objet Mur doit avoir le nom d'occurrence "Mur".

EDIT: à propos de la collision, vous pouvez le faire en utilisant hitTestObject, par exemple:

var wall:MovieClip = this.parent.getChildByName("wall") as MovieClip; 
trace("check collision: "+this.hitTestObject(wall)); 
+0

Merci beaucoup! Cela m'a beaucoup aidé! – Pieter888