Je fais ce jeu (clones d'envahisseurs; https://codepen.io/laughingskull/pen/NaWWzE?editors=0010). Je veux déplacer le vaisseau à gauche et à droite, et quand le contrôle est pressé, le vaisseau tirera. Le problème est quand le contrôle de libération est, le navire arrête de bouger. i ai lier cette fonctionnalité de keydown:Comment continuer l'événement de keydown après que le keyup ait été déclenché
checkKey: function(e) {
e = e || window.event;
if (e.keyCode in map) {
map[e.keyCode] = true;
e.preventDefault();
GAME.respond();
}
et ceci à keyUp:
clearKey: function(e) {
e = e || window.event;
if (e.keyCode in map) {
map[e.keyCode] = false;
}
if (e.keyCode === 17){
GAME.respond();
}
GAME.respond() ressemble à ceci:
respond: function(){
console.log("map", map);
if (map[17]) {
SHIP.shoot();
}
if (map[37]) {
SHIP.move(LEFT);
return;
}
if (map[39]) {
SHIP.move(RIGHT);
return;
}
if (map[38]) {
SHIP.move(UP);
return;
}
if (map[40]) {
SHIP.move(DOWN);
return;
}
},
touches pressées sont mis en correspondance par l'intermédiaire du objet de la carte (déclaré ailleurs). Le problème survient après le déclenchement de l'événement de touche, même si les touches fléchées sont toujours enfoncées, rien ne se passe. Comment puis-je restaurer les touches suivantes?
Jetez un oeil à l'exemple Phaser.js Invaders, la façon dont son implémentation devrait vous donner un indice sur la façon de faire le vôtre. http://phaser.io/examples/v2/games/invaders – IamSilviu