Den Game Maker benutzen
Die Tastatur
Für Tastaturinteraktionen existieren folgende Variablen und Funktionen:keyboard_lastkey Keycode der zuletzt betätigten Taste. Siehe unten für keycode-Konstanten. Du kannst es ändern, zum Beispiel auf 0 setzen, wenn du es bearbeitet hast.
keyboard_key Keycode der momentan betätigten Taste (siehe unten; 0 falls keine).
keyboard_lastchar Zuletzt gedrücktes Zeichen (als string).
keyboard_string String, der die maximal 1024 zuletzt getippten Zeichen enthält. Diese Zeichenkette beinhaltet nur druckbare Zeichen. Ferner reagiert er korrekt auf das Drücken der "Backspace" - Taste, indem das letze Zeichen gelöscht wird.
Manchmal ist es praktisch eine Taste auf einer anderen abzubilden. Zum Beispiel wenn du dem Spieler gestatten willst, sowohl die Pfeiltasten, alsauch den Ziffernblock zu verwenden. Anstatt die "actions" zu duplizieren, kannst du die Tasten des Ziffernblocks auf den Pfeiltasten abbilden. Vielleicht möchtest du ja auch einen Mechanismus einbauen, wo der Spieler sich seine Tasten selber aussuchen kann. Dafür stehen folgende Funktionen zu Verfügung:
keyboard_set_map(key1, key2) Bildet die Taste mit keycode key 1 auf key 2 ab.
keyboard_get_map(key) Gibt die momentane Verknüpfung/Abbildung der Taste wieder.
keyboard_unset_map() Setzt alle Tastenzuweisungen zurück.
Um zu prüfen, ob eine bestimmte (Maus-)Taste gedrückt ist, verwende nachfolgende Funktionen. Dies ist besonders nützlich, wenn mehrere Tasten gleichzeitig gedrückt sind.
keyboard_check(key) Gibt an, ob die Taste mit dem angegebenen keycode momentan gedrückt ist.
keyboard_check_pressed(key) Gibt an, ob die Taste mit dem angegebenen keycode seit dem letzten step gedrückt wurde.
keyboard_check_released(key) Gibt an, ob die Taste mit dem angegebenen keycode seit dem letzten step losgelassen wurde.
keyboard_check_direct(key) Gibt an, ob die Taste mit dem angegebenen keycode gedrückt ist, indem die Hardware direkt geprüft wird. Das Ergebnis ist unabhängig davon, welche Anwendung grade aktiv ist. Es ermöglicht zusätzliche Überprüfungen. Insbesondere kannst du die keycodes vk_lshift, vk_lcontrol, vk_lalt, vk_rshift, vk_rcontrol und vk_ralt to prüfen, um zu erfahren, ob die linke/rechte Shift-Taste, die Control oder die Alt-Taste gedrückt ist.
Die folgenden Routinen können verwendet werden, um den Tastaturstatus zu ändern:
keyboard_get_numlock() gibt an, ob "numlock" gesetzt ist.
keyboard_set_numlock(on) Setzt (true) oder deaktiviert (false) den "numlock".
keyboard_key_press(key) Simuliert den Tastendruck der angegebenen Taste.
keyboard_key_release(key) Simuliert das Loslassen der angegebenen Taste.
Folgende Konstanten für virtuelle keycodes existieren:
vk_nokey keycode gibt an, dass keine Taste gedrückt ist
vk_anykey keycode gibt an, dass irgendeine Taste gedrückt ist
vk_left keycode für die linke Pfeiltaste
vk_right keycode für die rechte Pfeiltaste
vk_up keycode für die aufwärts Pfeiltaste
vk_down keycode für die abwärts Pfeiltaste
vk_enter enter Taste
vk_escape escape Taste
vk_space space Taset
vk_shift shift Taste
vk_control control Taste
vk_alt alt Taste
vk_backspace backspace Taste
vk_tab tab Taste
vk_home home Taste
vk_end end Taste
vk_delete delete Taste
vk_insert insert Taste
vk_pageup pageup Taste
vk_pagedown pagedown Taste
vk_pause pause/break Taste
vk_printscreen printscreen/sysrq Taste
vk_f1 ... vk_f12 keycodes für die Funktionstasten F1 bis F12
vk_numpad0 ... vk_numpad9 Zifferntasten auf dem Ziffernblock
vk_multiply Multiplikations-Taste auf dem Ziffernblock
vk_divide Divisions-Taste auf dem Ziffernblock
vk_add Additions-Taste auf dem Ziffernblock
vk_subtract Subtraktions-Taste auf dem Ziffernblock
vk_decimal Dezimalpunkt-Taste auf dem Ziffernblock
Für die Buchstabentasten verwende zum Beispiel ord('A'). (Für Großbuchstaben) Für die Zahlentasten verwende zum Beispiel ord('5') , für die <5> Taste. Folgende Konstanten können nur verwendet werden mit keyboard_check_direct:
vk_lshift linke Shift-Taste
vk_lcontrol linke control-Taste
vk_lalt linke Alt-Taste
vk_rshift rechte Shift-Taste
vk_rcontrol rechte control-Taste
vk_ralt rechte Alt-Taste
Zum Beispiel: Angenommen, du hast ein Objekt, welches der Spieler mittels der Pfeiltasten steuert. Dann kannst du folgenden code in das Step-Event des Objektes setzen:
{
if (keyboard_check(vk_left)) x -= 4;
if (keyboard_check(vk_right)) x += 4;
if (keyboard_check(vk_up)) y -= 4;
if (keyboard_check(vk_down)) y += 4;
}
Natürlich ist es viel unkomplizierter, dies einfach in die keyboard-events zu setzen.
Es gibt noch weitere Funktionen, die sich auf Tastaurinteraktionen beziehen.
keyboard_clear(key) Löscht den Status der Taste. Dies bedeutet, es werden keine Tastaturereignisse mehr erzeugt, bis die Wiederholfunktion einsetzt.
io_clear() Löscht Tastatur- und Mausstatus.
io_handle() Bearbeitet Nutzereingaben, frischt Tastatur- und Mausstatus auf.
keyboard_wait() Wartet, bis der Nutzer irgendeine Taste auf der Tastatur betätigt.
Alternative Versionen
Auch verfügbar in:
Download helpfile