Peut-on utiliser plusieurs fois la même occurrence avec le même chemin cible et

Résolu
Konhardt Messages postés 4 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 29 juin 2005 - 29 juin 2005 à 02:02
Konhardt Messages postés 4 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 29 juin 2005 - 29 juin 2005 à 19:24
J'ai juste une petite question de débutant : après avoir placé
plusieurs clips de même nom d'occurrence sur la scène, est-il possible
qu'ils aient toutes les mêmes propriétés ou fonctions d'un code (dans
mon cas placé sur une image clé et non pas directement sur les clips) à
partir d'un chemin cible unique??

Je m'explique : comme beaucoup de débutant, je créé un petit jeu (c'est
une bonne manière de découvrir les différentes possibilités de flash
hein?). Dans ce jeu, il y a un clip "Monde" dans lequel un clip "Perso"
marche sur un clip "sol". Sur ce clip "sol", on trouve également un
clip (hé oui, un seul pour l'instant) "decors" à l'intérieur duquel se
trouve un autre clip qui doit servir pour les collisions avec le clip
"Perso", puisqu' évidemment, le mec ne peut pas traverser les décors.
Bon : pour les hitTest Perso/decors, je tape ce chemin cible :
_root.Monde.decors.collision et ça marche sans problème
quand ya qu'un seul decors. Mais lorsque je copie ce symbole de décors
(manuellement), c'est le nouvel arrivé qui fonctionne, et l'ancien
décors n'empêche plus le mec de passer.



Un chemin cible ne peut-il donc fonctionner que pour une seule occurrence?

Bref, qu'est-ce qu'on peut faire pour résoudre mon problème?

Merci d'avance !
Invisible !

7 réponses

Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
29 juin 2005 à 15:42
Fait un clip et tu met le code dedan, dans les image du clip tu met tout les obstacle (un par frame) et met un stop() dans la première frame
En le dupliquant sa dupliquera aussi le code.
Pas besoin de mettre un nom puisque dans le code tu fait un hitTest de this sur _root.perso
Oubli ma dernière idée dans mon post , trop compliqué. (celle avec les delete)
Quand tu dupliquera il te suffira de choisir aléatoirement ou celon se que tu veu (dans ses cas la choisi avec un tableau : 1 pour l'arbre, 2 pour un buisson, etc..) les obstable en déplacan la tête de lecture de l'obstacle
La taille du clip changera celon l'objet.

Blacknight91Titi
La tristesse envahit ce monde peu a peu, rongeant maison par maisons ces occupants Elle inspire la tristesse sans que personne ne sache qu'elle existe
3
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
29 juin 2005 à 08:31
=>Utiliser des noms différents pour chaque occurence! (ex: collision1, collision2, ...)



=>Ensuite y'a plusieurs solutions pour toutes les tester (ex: toutes
dans un clip et tu utilises "for element in clip" et tu testes le nom
"element" pour savoir si c'est avec "collision" que ça commence, sinon
tu peux utiliser l'écriture suivante: _root.Monde.decors["collision"+i]
dans une boucle "for"

ex:

for(i=1;i<=5;i++){
_root.Monde.decors["collision"+i].onPress=function(){

trace("T'as appuyé sur un clip collision");

}

}

...à adapter pour les hitTest



C'est un début! Amuse-toi bien!



@+! Samy
0
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
29 juin 2005 à 09:57
La boucle for n'est pas vraiment conseillé car c'est se qui rallentira ton jeux.
Mais pour une première méthode oui on peut utiliser sa.
Au mieux je te conseil de placer ton code de hitTest sur le clip du cdécor que tu dupliquera (donc le code avec) qui test la colision avec le perso.
Ensutie dans le clip décor met plusieur frame avec plusieur forme de décor comme sa une fois dupliqué tu met amène la tête de lecture au hasard dans le clip ainsi tu ne sais pas quel decor sa sera mais le test de colision sera le même et ne fera pas trop ramer.
Seul problème, le nombre de onEnterFrame qu'il y aura et qui risque de ralentir le jeux.
Se qu'il faut c'est que si ta map se déplace alors que les onEnterFrame des décor qui sont en dehor de l'affichage soit suprimer (delete(monclip.onEnterFrame))

Idée a dévelopé.

Blacknight91Titi
La tristesse envahit ce monde peu a peu, rongeant maison par maisons ces occupants Elle inspire la tristesse sans que personne ne sache qu'elle existe
0
cs_goldenboy68 Messages postés 1596 Date d'inscription samedi 3 janvier 2004 Statut Membre Dernière intervention 9 juin 2011 2
29 juin 2005 à 10:02
Oui, bien mieux les conseils de Titi! (faut dire que j'ai jamais trop
utilisé les hitTest et pas encore lancé dans les jeux de ce style)



@+! Samy
0

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

Posez votre question
Blacknight91titi Messages postés 1732 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 9 mars 2015 2
29 juin 2005 à 10:30
Moi je suis aussi par la ^_^
Donc évidement quand je faisais une bonne 50aine de onEnterFrame qui faisai des hitTests avec des boucle il a bien fallu que je trouve autre chose lol.
Un peu dégouté quand j'ai vu que je pouvais faire bien plus simple en metant des hitTest dans les décors lol.
C'est en faisant des erreurs qu'on apprend après tout ^_^

Blacknight91Titi
La tristesse envahit ce monde peu a peu, rongeant maison par maisons ces occupants Elle inspire la tristesse sans que personne ne sache qu'elle existe
0
Konhardt Messages postés 4 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 29 juin 2005
29 juin 2005 à 15:22
Merci à vous deux pour vos réponses rapides et intéressantes

Mais en fait, il me semble que ta solution, Blacknight, limite le choix du décors non? La taille du clip variera-t-elle selon le décors lu dans le clip "decors"?
Sinon est-ce que ça resoudra vraiment mon problème? puisqu'il s'agit là encore de dupliquer le code de collision de clips decors (mais on doit changer le nom d'occurrence de toute façon hein?). L'autre problème aussi si je place le code direct sur le clip decors, c'est que c'est alors tout le clip qui bloquera le perso, alors que je souhaite que ce ne soit qu'une partie (exemple, un arbre : la souche du tronc bloque le perso, mais on pourra par contre passer derrière l'arbre).
Par contre je peux pas faire les (delete(monclip.onEnterFrame)), car c'est un jeu de type RPG, on serait donc amené à revenir plusieurs fois au mêmes endroits.

Quoi qu'il en soit je vais tester tout ça et vous dirais le résultat. Merci encore!


Invisible !
0
Konhardt Messages postés 4 Date d'inscription dimanche 22 mai 2005 Statut Membre Dernière intervention 29 juin 2005
29 juin 2005 à 19:24
et ça marche ! Merci à vous!


Invisible !
0
Rejoignez-nous