« Soya/Python base 5 » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 53 :
# Boucle de tous les évenements Soya / SDL.
# Chaque évenement est un tuple ; la première valeur indique les types d'évènements
# et les autres valeurs dépendant du type.
# - (KEYDOWN, keysym, modifier)
#
#
# - (KEYUP, keysym, modifier)
# - (MOUSEMOTION, x, y, xrel, yrel)
#
# - (MOUSEBUTTONDOWN, button, x, y) où button est le numéro de bouton de souris et x et y sont les coordonnées de la souris.
#
#
# -
# -
# -
# -
# - (MOUSEBUTTONUP, button, x, y)
# - (JOYAXISMOTION, axis, value) XXX
Ligne 75 ⟶ 74 :
for event in soya.process_event():
#
if event[0] == soya.sdlconst.KEYDOWN:
#
if event[1] == soya.sdlconst.K_UP: self.speed.z = -0.2
elif event[1] == soya.sdlconst.K_DOWN: self.speed.z = 0.1
#
elif event[1] == soya.sdlconst.K_LEFT: self.rotation_y_speed = 10.0
elif event[1] == soya.sdlconst.K_RIGHT: self.rotation_y_speed = -10.0
#
#
#
elif event[1] == soya.sdlconst.K_q: soya.MAIN_LOOP.stop()
elif event[1] == soya.sdlconst.K_ESCAPE: soya.MAIN_LOOP.stop()
#
elif event[0] == soya.sdlconst.KEYUP:
#
if event[1] == soya.sdlconst.K_UP: self.speed.z = 0.0
elif event[1] == soya.sdlconst.K_DOWN: self.speed.z = 0.0
#
elif event[1] == soya.sdlconst.K_LEFT: self.rotation_y_speed = 0.0
Ligne 113 ⟶ 112 :
soya.MAIN_LOOP.stop()
#
self.rotate_y(self.rotation_y_speed)
Ligne 122 ⟶ 121 :
# La classe CaterpillarPiece
class CaterpillarPiece(soya.Body):
Ligne 141 ⟶ 140 :
# Création de la tête de la chenille et de 10 pièces de son corps.
caterpillar_head = CaterpillarHead(scene)
Ligne 151 ⟶ 150 :
previous_caterpillar_piece.x = i + 1
#
light = soya.Light(scene)
light.set_xyz(2.0, 5.0, 0.0)
# Création de la caméra.
camera = soya.Camera(scene)
|