Un space invaders avec Opal.rb - partie 6
Et si on controlait notre joueur au clavier ? On commence par ajouter deux
méthodes à la classe Player
, une pour changer sa position vers la
gauche (move_left
), et une autre pour aller à droite (move_right
):
Maintenant, il faut faire en sorte qu’un appui sur la touche flêche gauche
appelle la méthode move_left
(et qu’un appui sur flêche droite appelle
move_right
). Pour ça, je vais encore écrire un mélange de ruby/javascript:
Le %x()
joue le même rôle que les backticks, mais sur plusieurs lignes.
Ce qui est entre %x(
et )
est donc du code javascript (mais qui peut
utiliser l’interpolation de chaînes de caractères ruby…).
Le code javascript est simple, on enregistre un listener sur l’évenement
"keydown"
. Le code 37
correspond à la touche flêche gauche, le code
39
, bin, vous avez deviné ;)
Il reste a insérer la méthode init_keyboard
dans la méthode start
:
Après un rake build
, vous pouvez déplacer le joueur au clavier.
Pour info, voici le code complet de application.rb
:
Je pense que demain, on commencera à s’occuper des envahisseurs…
À demain.