pyxen.input

Accede a la entrada en tiempo real desde teclado, ratón, pantalla táctil y gamepads.

input = pyxen.input

Ver también: Entrada.


Módulos

MóduloDescripción
keyboardTeclas y entrada de texto
mousePosición, movimiento, botones
touchesEntrada multitáctil
gamepadsMandos

El modelo de botón

Las teclas del teclado, los botones del ratón y los botones del gamepad usan la misma interfaz Button:

button.down
button.pressed
button.released
button.value
PropiedadSignificado
downTrue mientras se mantiene pulsado
pressedTrue solo en el fotograma en que se pulsó
releasedTrue solo en el fotograma en que se soltó
valueValor analógico (0.0 a 1.0)

Comportamiento basado en fotogramas

La entrada se evalúa por fotograma.

pressed y released solo son true durante un fotograma, luego se resetean automáticamente.

if input.keyboard.space.pressed:
    player.jump()

Para comportamiento continuo:

if input.keyboard.space.down:
    charge_power()

Ejemplos rápidos

Movimiento con teclado

kbd = input.keyboard

if kbd.left.down:
    player.x -= 1

if kbd.right.down:
    player.x += 1

Clic de ratón

mouse = input.mouse

if mouse.left.pressed:
    x, y = mouse.pos
    spawn_explosion(x, y)

Entrada táctil

for t in input.touches:
    if t.started:
        print("Touch at", t.pos)

Movimiento analógico con gamepad

pad = input.gamepads[0]

if pad.connected:
    x, y = pad.left_stick
    player.x += x * 2
    player.y += y * 2

Seguridad de solo lectura

Todos los objetos de entrada son solo lectura. El estado de entrada es gestionado por el motor.