Lorsque vous manipulez le clavier dans GameMaker Studio 2 vous disposez d'une variété de fonctions qui peuvent être utilisées pour reconnaître différents états du clavier, comme pressé ou relâché. Il y en a aussi qui stockent toutes les touches en tant que cordes ou qui peuvent vous dire quelle a été la dernière touche enfoncée, ainsi que d'autres qui vous permettent d'effacer complètement l'état du clavier.
Maintenant, chaque touche est normalement définie par un nombre, appelé code ASCII, et vous pouvez entrer directement ce numéro dans ces fonctions et ils fonctionneront bien... Mais, comme c'est un peu difficile de se souvenir de tant de nombres et de la relation ils ont avec votre clavier, GameMaker Studio 2 a une série de constantes pour les touches spéciales du clavier les plus utilisées et une fonction spéciale ord() pour renvoyer le nombre à partir de caractères typés ordinaires (lettres ou chiffres).
Ce qui suit est un petit exemple d'utilisation ord():
if keyboard_check(ord("A"))
{
hspeed = -5;
}
Donc, ce qui précède va vérifier la touche "A" et si elle est pressée, alors il va définir la vitesse horizontale de l'objet à -5. Notez que le "A" est un "A" majuscule, et que lorsque vous utilisez ord() la touche du clavier à vérifier doit toujours être écrite entre guillemets et en majuscule. Maintenant, que faire si vous voulez utiliser les touches fléchées? Ou si vous voulez modifier une action en utilisant la touche "shift"? Eh bien, pour que GameMaker Studio 2 a une série de vk_ constantes ( vk_ signifie clavier virtuel ) que vous pouvez utiliser à la place d'ord ou du code ASCII.
Voici une liste complète des vk_ constantes:
| Constant | La description |
|---|---|
| vk_nokey | keycode représentant qu'aucune touche n'est enfoncée |
| vk_anykey | keycode représentant que n'importe quelle touche est pressée |
| vk_left | code clé pour la touche fléchée gauche |
| vk_right | code clé pour la touche fléchée droite |
| vk_up | code clé pour la touche fléchée vers le haut |
| vk_down | code clé pour la touche fléchée vers le bas |
| vk_enter | la touche Entrée |
| vk_escape | touche d'échappement |
| vk_space | clé d'espace |
| vk_shift | l'une des touches de changement de vitesse |
| vk_control | l'une des touches de contrôle |
| vk_alt | touche Alt |
| vk_backspace | touche de retour arrière |
| vk_tab | La touche TAB |
| vk_home | clé de la maison |
| vk_end | touche de fin |
| vk_delete | supprimer la clé |
| vk_insert | insérer la clé |
| vk_pageup | clé de mise en page |
| vk_pagedown | clé pagedown |
| vk_pause | pause / pause clé |
| vk_printscreen | touche printscreen / sysrq |
| vk_f1... vk_f12 | code clé pour les touches de fonction F1 à F12 |
| vk_numpad0... vk_numpad9 | touches numériques sur le pavé numérique |
| vk_multiply | multipliez la clé sur le pavé numérique |
| vk_divide | diviser la clé sur le pavé numérique |
| vk_add | touche sur le clavier numérique |
| vk_subtract | soustraire la clé sur le pavé numérique |
| vk_decimal | touches de point décimal sur le pavé numérique |
Les constantes suivantes ne peuvent être utilisées qu'avec keyboard_check_direct():
| Constant | La description |
|---|---|
| vk_lshift | touche Maj gauche |
| vk_lcontrol | touche de contrôle gauche |
| vk_lalt | gauche alt clé |
| vk_rshift | touche Maj droite |
| vk_rcontrol | touche de contrôle droite |
| vk_ralt | touche alt de droite |
Ce qui suit est un petit exemple de la façon d'utiliser le vk_ constantes:
if keyboard_check_pressed(vk_tab)
{
instance_create_layer(x, y, "Controllers",
obj_Menu);
}
Le code ci-dessus détectera si la touche "Tab" est enfoncée et créera une instance de l'objet "obj_Menu" si c'est le cas.
Pour plus d'informations sur les fonctions disponibles du clavier GameMaker Studio 2, consultez les sections suivantes du manuel:
- io_clear
- keyboard_check
- keyboard_check_pressed
- keyboard_check_released
- keyboard_check_direct
- keyboard_clear
- keyboard_key_press
- keyboard_key_release
- touche du clavier
- keyboard_lastkey
- keyboard_lastchar
- keyboard_string
- keyboard_set_map
- keyboard_get_map
- keyboard_unset_map
- keyboard_get_numlock
- keyboard_set_numlock