Tuto 2 : interactions avec l'utilisateur

Clavier

Pyxel peut détecter l'appui sur une touche du clavier et détecter de quelle touche il s'agit.

Deux méthodes de Pyxel sont utilisables :

La première méthode sera utilisée lorsqu'une touche sera a priori maintenue appuyée, comme une touche de direction par exemple, et la deuxième quand un seul appui est souhaitable, comme le déclenchement d'un tir par exemple ou une action unique.

Ces méthodes seront appelées dans la fonction update().

Voir la référence Pyxel pour le code des touches.

Voila par exemple un script qui permet de déplacer un carré dans la fenêtre à l'aide des 4 touches de direction :

Tuto 1

import pyxel

pyxel.init(128, 128, title="Super Jeu")

###############################
# FONCTIONS GÉRANT LE VAISSEAU #
###############################

def bouge_vaisseau():
    """déplacement avec les touches de directions"""

    global vaisseau_x, vaisseau_y

    if pyxel.btn(pyxel.KEY_RIGHT):  # équivaut à : if pyxel.btn(pyxel.KEY_RIGHT) == True:
        if (vaisseau_x < 120) :
            vaisseau_x = vaisseau_x + 1
    if pyxel.btn(pyxel.KEY_LEFT):
        if (vaisseau_x > 0) :
            vaisseau_x = vaisseau_x - 1
    if pyxel.btn(pyxel.KEY_DOWN):
        if (vaisseau_y < 120) :
            vaisseau_y = vaisseau_y + 1
    if pyxel.btn(pyxel.KEY_UP):
        if (vaisseau_y > 0) :
            vaisseau_y = vaisseau_y - 1

def affiche_vaisseau():

    # vaisseau (carre 8x8)
    pyxel.rect(vaisseau_x, vaisseau_y, 8, 8, 1)

##################
# GESTION DU JEU #
##################

def update():

    bouge_vaisseau()

def draw():

    pyxel.cls(0)

    affiche_vaisseau()

########################
#  PROGRAMME PRINCIPAL #
########################

# position initiale du vaisseau
# (origine des positions : coin haut gauche)
vaisseau_x = 60
vaisseau_y = 60

# Lancement du jeu
pyxel.run(update, draw)	
			

Souris

Les attributs mouse_x et mouse_y du module Pyxel permettent de connaître les coordonnées actuelle de la souris.

La méthode mouse(True/False) permet d'afficher/ne pas afficher le curseur de la souris ( False = ne pas afficher par défaut ).

A faire soi-même

  • modifier les touches à utiliser pour déplacer le "vaisseau".
  • Modifier le script pour contrôler le "vaisseau" avec la souris.
Suivant