| Collision, empêcher l'empilement d'objet | |
|
|
Auteur | Message |
---|
Cigalois Nouveau
Messages : 7
| Sujet: Collision, empêcher l'empilement d'objet Jeu 23 Fév 2012 - 12:12 | |
| Bonjour, Je suis actuellement en train de développer un jeu de survie où le héros est poursuivi par des zombies et on doit leur tirer dessus. Le problème étant que lorsque les zombies se dirigent vers le héros, ils s'empilent dès fois, ce qui donne 30 zombies au même endroit: J'ai essayé de faire un événement de collision, mais cela crée des problème (Les zombies s'arrêtent et sont bloqués) Voilà, j'aimerais savoir si vous avez une solution. Merci |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: Collision, empêcher l'empilement d'objet Jeu 23 Fév 2012 - 12:20 | |
| Bonjour et bienvenue. Ne connaisant pas ton niveau je vais te proposer deux solutions, une assez simple à mettre en place, il sagit tout simplement d'utiliser des place_meeting: place_meeting(x, y, obj) Retourne si l'instance placée à la position (x,y) rencontre obj. obj peut être un objet auquel cas la fonction retourne true (VRAI) si une instance de cet objet est rencontrée. Cela peut aussi être un ID d'instance, le mot spécial all indiquant une instance d'un objet quelconque ou le mot spécial other. Et la deuxième un peut plus complexe est d'utiliser un pathfinding. Par chance il y as déjà un algo sur le forum: https://cbna.forumactif.com/t10796-resolu-pathfinding-algorithme-a-exemple-exe-gmk?highlight=pathfinding |
|
| |
Cigalois Nouveau
Messages : 7
| Sujet: Re: Collision, empêcher l'empilement d'objet Jeu 23 Fév 2012 - 12:51 | |
| D'accord merci. Je suis pas tellement doué mais je me débrouille. Je viens de tester, le problème est que je crée le même objet plein de fois donc quoique je j'applique sur un des objjets, cela s'appliquera sur les autres ... J'essaie encore en bidouillant. Merci encore |
|
| |
marty Utilisateur confirmé: Rang ***
Messages : 697 Projet Actuel : laby-ereinte !
| Sujet: Re: Collision, empêcher l'empilement d'objet Jeu 23 Fév 2012 - 19:55 | |
| pourquoi tu n'utilise pas dans l'onglet move 1 l'icône step( autour de )avec l'option solid object (tout en bas à droite) couplé avec un bounce dans l'event collision lorsque dans l'objet zombie en solid. |
|
| |
Cigalois Nouveau
Messages : 7
| Sujet: Re: Collision, empêcher l'empilement d'objet Jeu 23 Fév 2012 - 20:59 | |
| Je ne pense pas avoir la même version, j'ai la 8, car je n'ai pas d'onglet move 1. Mais même avec un bounce quand ils sont plein, ils se rentrent dedans et se retrouvent bloqués ...
|
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: Collision, empêcher l'empilement d'objet Jeu 23 Fév 2012 - 21:56 | |
| Voici un code tout simple qui doit fonctionner convenablement: - Code:
-
direction = point_direction(x,y,Player.x,Player.y); image_angle=direction;
if( place_meeting(x+lengthdir_x(1,direction),y+lengthdir_y(1,direction),Zombie) ) speed =0; else speed=3; Edit: à placer dans le Step de l'objet "Zombie". |
|
| |
Cigalois Nouveau
Messages : 7
| Sujet: Re: Collision, empêcher l'empilement d'objet Jeu 23 Fév 2012 - 22:22 | |
| Je n'ai pas la version pro, donc les deux premières lignes ne fonctionnent pas ... |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: Collision, empêcher l'empilement d'objet Jeu 23 Fév 2012 - 22:26 | |
| Perso', je ne connais pas les fonctions disponibles pour la version lite/pro.
Actuellement tu fait comment pour définir la direction de ton zombie? |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: Collision, empêcher l'empilement d'objet Ven 24 Fév 2012 - 11:35 | |
| Pour un jeu de ce type, je conseillerais vivement un système de répulsion plutôt qu'un système d'arrêt total, pour éviter d'innombrables bugs de clipping. Ça se résume à appliquer une force à un zombie à chaque collision avec un autre, du second vers le premier et avec une puissance inversement proportionnelle à la distance. _________________ Home is not a place, it's a feeling.
|
|
| |
glcraft Utilisateur confirmé: Rang *****
Messages : 1698 Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P Projet Actuel : Jeu de survie avancé
||--------
| Sujet: Re: Collision, empêcher l'empilement d'objet Ven 24 Fév 2012 - 18:24 | |
| oui, exatement comme minecraft (ou meme les 3/4 des jeux mais sur minecraft, ca creve les yeux ^^) dans ton cas, ca fonctionnerai super. En revanche pour se faire, il faut utiliser le speed, addition vectorielle (ou moyenne et reproduction sur cercle trigo) si 5 personnage sont autour d'un autre personnage, c'est pas simple a faire... (t'facon je suis une quiche en matiere de collision...) |
|
| |
Contenu sponsorisé
| Sujet: Re: Collision, empêcher l'empilement d'objet | |
| |
|
| |
| Collision, empêcher l'empilement d'objet | |
|