Bonjour! Oui c'est encore moi désolé xD mais j'ai un problème avec l'input je vous explique. Tout d'abord je vous montre le jeu en basique que j'avais fais: (attention c'est moche)
Le principe est simple, on esquive les étoiles, et on doit tirer sur le rond qui apparait à un endroit aléatoirement en haut.
Je suis donc en train de le refaire en assembleur:
- Code: Select all
Loop:
di
ld hl, $F50000
ld (hl),2
ld a,($F5001E)
bit 1,a
call nz,Moove_Left
bit 2,a
call nz,Moove_Right
bit 3,a
call nz,Shoot
ei
;reste du code...
jr Loop
On appuie sur les flèches droite ou gauche pour se déplacer, et la flèche du haut pour tirer.
Mais en fait dans mon code, quand j'appuie sur la flèche de gauche par exemple, c'est tellement rapide que le curseur à le temps de se déplacer de plusieurs crans vers la gauche. Ce que j'aimerais, c'est que quand quand j'appuie sur le flèche de gauche, il ne se déplace que d'un seul cran, et que même si je la garde enfoncée, il ne bouge plus, et que donc il ne se déplacera que une fois qu'on rappuiera à nouveau sur la touche.
Voilà ce que ça donne. J'ai essayé plusieurs trucs mais j'arrive pas à faire en sorte qu'il ne se déplace qu'une fois, même si on appuie très brièvement , il a le temps de se déplacer de 2 ou 3 crans tellement c'est rapide... Je n'arrive pas à "bloquer" la touche. (enfin si mais après les touches ne marchait plus du tout ensuite xD) J'aimerais donc qu'il faille relacher la touche et rappuyer afin de pouvoir se déplacer à nouveau. Quelqu'un aurait -il une solution?