Urgent s'il vous plait... impossible de trouver le chemin d'acces d'un clip plac

Siteauludo
Messages postés
60
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
15 mai 2007
- 28 oct. 2005 à 23:42
sgainowai
Messages postés
10
Date d'inscription
vendredi 18 juillet 2008
Statut
Membre
Dernière intervention
27 août 2009
- 30 août 2008 à 13:53
Bonjour, voilà, je m'explique :
je suis en train d'essayer de faire un mini-jeu, type plateforme. Bon j'ai 2 calques, un pour les actions, l'autre pour les clips. Maintenant, je souhaiterai ajouter à mon vaisseau (calque "graphique", pas action) une attaque. Bon jusqu'ici tout va bien, j'ai mis ce code dans le calque "action" et ça fonctionne :

var n:Number = 1000;
Ecouteur = new Object();
Mouse.addListener(Ecouteur);
Ecouteur.onMouseDown = function() {
ship_x = getProperty("vaisseau", _x);
ship_y = getProperty("vaisseau", _y);
duplicateMovieClip("/laser", "laser" add n, n);
setProperty(laser add n, _x, ship_x);
setProperty(laser add n, _y, ship_y);
n++;
};

Le problème, c'est que je souhaite que ça ce passe quand j'appuye sur la barre d'espace, alors dans mon clip "vaisseau", j'ai ajouté ça :

if (Key.isDown(Key.SPACE)) {
ship_x = getProperty("vaisseau", _x);
ship_y = getProperty("vaisseau", _y);
duplicateMovieClip("/laser", "laser" add n, n);
setProperty(laser add n, _x, ship_x);
setProperty(laser add n, _y, ship_y);
n++;
}
ça ne marche pas ! J'ai réussi avec des trace() à identifier le problème, c'est simplement le chemin (en rouge).(Résumé : le clip vaisseau(nom d'occ. vaisseau) et laser(nom d'occ. laser) sont tout deux sur le même calque). J'ai remplacé "/laser" par this._parent.laser, _root.laser, laser, _parent.laser, _level0.laser, mais rien ne marche. Par contre, si je colle ce code sur un bouton en remplaçant la condition par un on(press), et que je remplace "/laser" par "laser", ça marche ! Incroyable mais vrai !

Auriez-vous une idée ?

Merci beaucoup, Siteauludo

5 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
28 oct. 2005 à 23:56
Tu codes en Flash 4.0 ?!

Peg'
0
Siteauludo
Messages postés
60
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
15 mai 2007

29 oct. 2005 à 12:49
aucune idée ! J'ai tiré des bouts de codes à gauche et à droite, et je modifie le code en fonction de ce que je connais. Pourquoi, ça marche moins bien ? Parce que dans Flash mx 2004 il reconnaît très bien ce code. Le pire, au début j'utilisait onClipEvent(enterFrame) et ça marchait, et quand j'ai essayé de remplacer par this.onEnterFrame = function ça m'a mis .....doit apparaît dans le gestionnaire onClipEvent ! Mais pour mon prob ?

Merci
0
pegase31
Messages postés
6138
Date d'inscription
dimanche 21 décembre 2003
Statut
Modérateur
Dernière intervention
4 septembre 2013
11
29 oct. 2005 à 13:58
Allez, je te refais ton code en version AS1 Flash MX :

if (Key.isDown(Key.SPACE)) {
ship_x = vaisseau._x;
ship_y = vaisseau._y;
laser.duplicateMovieClip("laser"+n, n);
this["laser"+n]._x = ship_x;
this["laser"+n]._y = ship_y;
n++;
}

Peg'
0
Siteauludo
Messages postés
60
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
15 mai 2007

29 oct. 2005 à 16:40
merci pegase31, mais ça ne marche toujours pas ! Voici la source, en espérant que vous puissiez m'aider...

http://membres.lycos.fr/siteauludovic/

c'est le fichier vaisseau.fla (le seul)

Merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sgainowai
Messages postés
10
Date d'inscription
vendredi 18 juillet 2008
Statut
Membre
Dernière intervention
27 août 2009

30 août 2008 à 13:53
t'as pas oublié de placer la condition de pegase31 dans un
this.onEnterFrame = function(){
?
0