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 |
|---|---|
down | Maintenue enfoncée cette frame |
pressed | Vient d’être enfoncée cette frame (vrai pendant une seule frame) |
released | Vient d’être relâchée cette frame (vrai pendant une seule frame) |
value | Valeur analogique (0.0 ou 1.0 pour les touches) |
Noms de touches courants : left, right, up, down, space, enter, escape, a–z, 0–9.
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, y | Position en coordonnées de jeu |
dx, dy | Déplacement depuis la dernière frame |
pressure | Pression du toucher (si disponible) |
down | Contact en cours |
started | Contact commencé cette frame |
ended | Contact 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 :
x,y— position du curseur en coordonnées de jeudx,dy— déplacement depuis la dernière framewheel— delta de la molette de défilementbuttons.left,buttons.right,buttons.middle— chacun avecdown,pressed,released
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 :
connected— indique si un gamepad est branché à cet indexleft_stick,right_stick— sticks analogiques avecxety(-1.0 à 1.0)buttons—a,b,x,y, plus les gâchettes et bumpers, chacun avecdown,pressed,released,value
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.