Tutoriel 2 : début

This commit is contained in:
Philippe Roy 2023-04-21 04:15:08 +02:00
parent 481c53194d
commit 684f54a0bd
5 changed files with 25 additions and 27 deletions

View File

@ -6,7 +6,7 @@ import bge # Bibliothèque Blender Game Engine (BGE)
# @project: Blender-EduTech # @project: Blender-EduTech
# @lang: fr # @lang: fr
# @authors: Philippe Roy <philippe.roy@ac-grenoble.fr> # @authors: Philippe Roy <philippe.roy@ac-grenoble.fr>
# @copyright: Copyright (C) 2021 Philippe Roy # @copyright: Copyright (C) 2023 Philippe Roy
# @license: GNU GPL # @license: GNU GPL
# #
# Commandes déclenchées par UPBGE pour le tutoriel Labyrinthe # Commandes déclenchées par UPBGE pour le tutoriel Labyrinthe
@ -28,26 +28,43 @@ ACTIVATE = bge.logic.KX_INPUT_ACTIVE
# Gestion du clavier # Gestion du clavier
############################################################################### ###############################################################################
# Initialisation
def init(cont):
# Mémorisation de la position de départ du joueur
obj = scene.objects['Bille']
# obj = cont.owner
obj['init_lx']=obj.worldPosition.x
obj['init_ly']=obj.worldPosition.y
obj['init_lz']=obj.worldPosition.z
# Cacher la panneau de la victoire
scene.objects['Panneau victoire'].setVisible(False,True)
###############################################################################
# Gestion du clavier
###############################################################################
# Flèches pour tourner le plateau # Flèches pour tourner le plateau
def clavier(cont): def clavier(cont):
# obj = cont.owner obj = cont.owner
obj = scene.objects['Plateau'] obj = scene.objects['Plateau']
keyboard = bge.logic.keyboard keyboard = bge.logic.keyboard
resolution = 0.01 resolution = 0.01
# Up # Flèche haut - Up arrow
if (ACTIVATE == keyboard.events[bge.events.UPARROWKEY]): if (ACTIVATE == keyboard.events[bge.events.UPARROWKEY]):
obj.applyRotation((-resolution,0,0), False) obj.applyRotation((-resolution,0,0), False)
# Down # Flèche bas - Down arrow
if (ACTIVATE == keyboard.events[bge.events.DOWNARROWKEY]): if (ACTIVATE == keyboard.events[bge.events.DOWNARROWKEY]):
obj.applyRotation((resolution,0,0), False) obj.applyRotation((resolution,0,0), False)
# Left # Flèche gauche - Left arrow
if (ACTIVATE == keyboard.events[bge.events.LEFTARROWKEY]): if (ACTIVATE == keyboard.events[bge.events.LEFTARROWKEY]):
obj.applyRotation((0, -resolution,0), False) obj.applyRotation((0, -resolution,0), False)
# Right # Flèche droit - Right arrow
if (ACTIVATE == keyboard.events[bge.events.RIGHTARROWKEY]): if (ACTIVATE == keyboard.events[bge.events.RIGHTARROWKEY]):
obj.applyRotation((0, resolution,0), False) obj.applyRotation((0, resolution,0), False)
@ -92,25 +109,6 @@ def joystick(cont):
# Restart # Restart
############################################################################### ###############################################################################
# Initialisation
def init(cont):
# Mémorisation de la position de départ du joueur
obj = scene.objects['Joueur']
# obj = cont.owner
obj['init_lx']=obj.worldPosition.x
obj['init_ly']=obj.worldPosition.y
obj['init_lz']=obj.worldPosition.z
# Cacher le texte de victoire
scene.objects['Texte'].setVisible(False,False)
# Appliquer le poids à la balle
# obj.gravity = [0, 0, -10000000]
# obj.mass = 10
# obj. applyForce([0, 0, -100000000])
# obj.setDamping(0.5, 0.5)
# Atteindre une orientation (bas niveau) # Atteindre une orientation (bas niveau)
def applyRotationTo(obj, rx=None, ry=None, rz=None): def applyRotationTo(obj, rx=None, ry=None, rz=None):
rres=0.001 # resolution rotation rres=0.001 # resolution rotation
@ -161,8 +159,8 @@ def restart(cont):
obj.worldPosition.z=obj['init_lz'] obj.worldPosition.z=obj['init_lz']
############################################################################### ###############################################################################
# Gagné # Victoire
############################################################################### ###############################################################################
def gagne(cont): def gagne(cont):
scene.objects['Texte'].setVisible(True,False) scene.objects['Panneau victoire'].setVisible(True,False)