Entrada

Pyxen soporta entrada de teclado, táctil, ratón y mando. Toda la entrada se lee a través del módulo input y se actualiza una vez por fotograma, antes de que update() se ejecute.

Teclado

Accede a cualquier tecla por nombre en input.keyboard:

if input.keyboard.right.down:
    player.x += 2

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

Cada tecla expone las mismas propiedades:

PropiedadSignificado
downMantenida presionada este fotograma
pressedRecién presionada este fotograma (verdadero un solo fotograma)
releasedRecién soltada este fotograma (verdadero un solo fotograma)
valueValor analógico (0.0 o 1.0 para teclas)

Nombres de teclas comunes: left, right, up, down, space, enter, escape, a-z, 0-9.

Táctil

En iPad, la entrada táctil llega a través de input.touches — una lista de puntos de toque activos:

for touch in input.touches:
    if touch.started:
        spawn_particle(touch.x, touch.y)

Cada toque tiene:

PropiedadSignificado
x, yPosición en coordenadas del juego
dx, dyMovimiento desde el último fotograma
pressurePresión del toque (si está disponible)
downTocando actualmente
startedEl toque comenzó este fotograma
endedEl toque terminó este fotograma

Ratón

La entrada de ratón funciona en Mac e iPad con ratón o trackpad conectado:

if input.mouse.buttons.left.pressed:
    shoot(input.mouse.x, input.mouse.y)

El ratón expone:

Mandos

Pyxen soporta hasta 4 mandos. Accede a ellos a través de input.gamepads:

pad = input.gamepads[0]
if pad.connected:
    player.x += pad.left_stick.x * 2
    if pad.buttons.a.pressed:
        jump()

Cada mando tiene:

Diseñar para múltiples entradas

Un juego de Pyxen puede ejecutarse en iPad con táctil, en iPad con teclado, o en Mac con ratón y teclado. Un buen enfoque es comprobar múltiples fuentes de entrada:

def update():
    dx = 0
    if input.keyboard.right.down:
        dx = 2
    elif input.keyboard.left.down:
        dx = -2

    pad = input.gamepads[0]
    if pad.connected:
        dx = pad.left_stick.x * 2

    player.x += dx

Para la API completa, ve la referencia de entrada.