Les forums de JeuxVideo.com
-
PistoIetSexuel
- Posté le
30 juin 2009 à 15:48:58

-
:bonjour:
Dans Game maker, je veux que mes ennemis aient un champ de vision. J'ai donc dessiné des sprites invisibles qui les définissent, et j'en attribue un a chaque ennemi. Lorsque le joueur touche ce sprite (qu'il touche les bords ou qu'il soit carrément dedans), il est détecté.
Mais voilà, j'aimerais que le joueur puisse se planquer derrière les murs, donc, quand le champ de vision touche un mur, je lui attribue un sprite plus petit (et hop il atteint plus
). Mais maintenant, comment je fais pour savoir qu'il ne touche plus le mur? Histoire de ne pas laisser a l'ennemi un champ de vision atrophié alors qu'il se met à regarder au loin?
J'avais pensé à faire une alarme, qui le fait revenir à la normale après un certain temps, mais s'il redevient aussi grand qu'avant d'avoir touché le mur, mais qu'il est toujours dirigé vers le mur, la miliseconde où il va revenir à la normale, il risque de détecter le joueur situé derrière avant de rétrécir à nouveau
?
Ou alors, y-a t'il un moyen plus simple de faire un champ de vision plus simplement, mais avec autant de fonctionnalités (c'est important car mon jeu aura une composante "infiltration")?
Voilà tout, merci d'avance à ceux qui m'aideront!
- Lien permanent
-
kaoron
- Posté le
4 juillet 2009 à 21:04:23

-
> Mais voilà, j'aimerais que le joueur puisse se planquer derrière les murs, donc, quand le champ de vision touche un mur, je lui attribue un sprite plus petit (et hop il atteint plus
). Mais maintenant, comment je fais pour savoir qu'il ne touche plus le mur?
Si tu peux détecter la présence de collision, alors tu peux détecter l'absence de collision (que la détection de collision ne renvoie rien) par la même méthode... où est le problème ?
> J'avais pensé à faire une alarme, qui le fait revenir à la normale après un certain temps, mais s'il redevient aussi grand qu'avant d'avoir touché le mur, mais qu'il est toujours dirigé vers le mur, la miliseconde où il va revenir à la normale, il risque de détecter le joueur situé derrière avant de rétrécir à nouveau
?
Tu peux mettre une variable drapeau "champ de vision raccourci". Comme ça tu testes d'abord la collision, et si il y a alors tu "lèves" un drapeau qui signifie que la détection du joueur se fera avec un champ réduit. A adapter aux mécanismes de game maker.
> Ou alors, y-a t'il un moyen plus simple de faire un champ de vision plus simplement, mais avec autant de fonctionnalités (c'est important car mon jeu aura une composante "infiltration")?
Tu ferais peut-être mieux d'inverser la détection du joueur et la détection de mur : plutôt que de réduire le champ de vision lorsqu'il y a un mur, tu pourrais faire une détection avec un champ "normal", et si le joueur est détecté vérifier qu'il n'y a pas de mur entre le joueur et l'ennemi.
Ça a l'avantage de s'adapter a la forme de ton décor, plutôt que de réduire arbitrairement le champ de vision de l'ennemi dès qu'il y a un mur.
- Lien permanent
-
PistoIetSexuel
- Posté le
5 juillet 2009 à 09:10:04

-
Cool
.
- Lien permanent
Sujet : « [Game maker]Detecter absence collision. »