Bonjour tout le monde,
Je viens de découvrir Game Maker et j'ai rencontré un problème au niveau du codage depuis quelques jours. J'ai essayé de m'informer sur plusieurs forums, tutoriels etc ... mais je n'ai pas d'informations me permettant d'avancer.
Le résultat voulu:
J'ai créé un petit shooter dans lequel, lorsqu'un laser touche un ennemi cet ennemi perd une vie et est détruit au bout de trois tirs. J'aimerais que pendant un intervalle de temps l'ennemi en question change de sprite pour montrer le dégât reçu puis revient au sprite d'origine.
dans l'event Step
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 hit =instance_place(x,y,ob_ennemi) if(hit!=noone) { hit.life -=1; instance_destroy() compteur=30 } if (compteur>0){ compteur-- hit.sprite_index=sp_ennemidegat } if (compteur<=0) hit.sprite_index=sp_ennemi
Le problème :
Dès que je commence à tirer un laser, le jeu bug avant même qu'un laser rencontre un ennemi. Le compteur de step fonctionne normalement car je l'ai déjà testé (je l'ai remplacé par une alarme et ça à fait la même chose), le hit.sprite_index fonctionne aussi.
Seul hit.sprite_index=sp_ennemi fait buger lorsque hit.sprite_index=sp_ennemidegat est présent aussi. bizarre
J'ai testé en utilisant un objet qui prend les changements de sprite, dès que je tire, lors du step suivant l'objet prend le sprite de dégat sans qu'il y ai collision (et le compteur ne fait pas changer de sprite).
Bref je suis dans une impasse ^^, si vous avez des solutions, d'autres alternatives ou des idées; je vous en remercie d'avance!
PS : Le système de collision et de vie fonctionnent
Partager