pyxen.input

Zugriff auf Echtzeit-Eingaben von Tastatur, Maus, Touchscreen und Gamepads.

input = pyxen.input

Siehe auch: Eingabe.


Module

ModulBeschreibung
keyboardTasten und Texteingabe
mousePosition, Bewegung, Tasten
touchesMulti-Touch-Eingabe
gamepadsController

Das Button-Modell

Tastaturtasten, Maustasten und Gamepad-Tasten verwenden alle dasselbe Button-Interface:

button.down
button.pressed
button.released
button.value
EigenschaftBedeutung
downTrue solange gehalten
pressedTrue nur im Frame des Drückens
releasedTrue nur im Frame des Loslassens
valueAnalogwert (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.