Entrées

Pyxen prend en charge le clavier, le tactile, la souris et le gamepad. Toutes les entrées sont lues via le module input et mises à jour une fois par frame, avant l’exécution de update().

Clavier

Accédez à n’importe quelle touche par son nom via input.keyboard :

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

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

Chaque touche expose les mêmes propriétés :

PropriétéSignification
downMaintenue enfoncée cette frame
pressedVient d’être enfoncée cette frame (vrai pendant une seule frame)
releasedVient d’être relâchée cette frame (vrai pendant une seule frame)
valueValeur analogique (0.0 ou 1.0 pour les touches)

Noms de touches courants : left, right, up, down, space, enter, escape, az, 09.

Tactile

Sur iPad, les entrées tactiles passent par input.touches — une liste de points de contact actifs :

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

Chaque point de contact possède :

PropriétéSignification
x, yPosition en coordonnées de jeu
dx, dyDéplacement depuis la dernière frame
pressurePression du toucher (si disponible)
downContact en cours
startedContact commencé cette frame
endedContact terminé cette frame

Souris

La souris fonctionne sur Mac et iPad avec une souris ou un trackpad connecté :

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

La souris expose :

Gamepads

Pyxen prend en charge jusqu’à 4 gamepads. Accédez-y via input.gamepads :

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

Chaque gamepad possède :

Concevoir pour plusieurs types d’entrées

Un jeu Pyxen peut tourner sur iPad avec le tactile, sur iPad avec un clavier, ou sur Mac avec souris et clavier. Une bonne approche consiste à vérifier plusieurs sources d’entrées :

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

Pour l’API complète, consultez la référence des entrées.