pyxen.input
Zugriff auf Echtzeit-Eingaben von Tastatur, Maus, Touchscreen und Gamepads.
input = pyxen.input
Siehe auch: Eingabe.
Module
| Modul | Beschreibung |
|---|---|
keyboard | Tasten und Texteingabe |
mouse | Position, Bewegung, Tasten |
touches | Multi-Touch-Eingabe |
gamepads | Controller |
Das Button-Modell
Tastaturtasten, Maustasten und Gamepad-Tasten verwenden alle dasselbe Button-Interface:
button.down
button.pressed
button.released
button.value
| Eigenschaft | Bedeutung |
|---|---|
down | True solange gehalten |
pressed | True nur im Frame des Drückens |
released | True nur im Frame des Loslassens |
value | Analogwert (0.0 bis 1.0) |
Framebasiertes Verhalten
Eingabe wird pro Frame ausgewertet.
pressed und released sind nur für einen Frame true, dann werden sie automatisch zurückgesetzt.
if input.keyboard.space.pressed:
player.jump()
Für kontinuierliches Verhalten:
if input.keyboard.space.down:
charge_power()
Schnellbeispiele
Tastaturbewegung
kbd = input.keyboard
if kbd.left.down:
player.x -= 1
if kbd.right.down:
player.x += 1
Mausklick
mouse = input.mouse
if mouse.left.pressed:
x, y = mouse.pos
spawn_explosion(x, y)
Touch-Eingabe
for t in input.touches:
if t.started:
print("Touch bei", t.pos)
Gamepad-Analogbewegung
pad = input.gamepads[0]
if pad.connected:
x, y = pad.left_stick
player.x += x * 2
player.y += y * 2
Nur-Lesen-Schutz
Alle Eingabeobjekte sind nur lesbar. Der Eingabezustand wird von der Engine verwaltet.