Sélectionnez votre langue

"Un hacker fait par amour de l'art ce que d'autres ne peuvent faire, même pour de l'argent."

L'objectif de ce tutoriel est de découvrir le détecteur "Property" (Propriété).
Il va nous permettre de faire avancer le personnage en fonction de la valeur d'une propriété.

***

Version utilisée pour la rédaction de ce tuto (cf barre d'état) :

"UPBGE v0.3 Alpha (based on Blender v2.90)"


Conventions :
Les touches du clavier et les boutons de la souris sont indiqués entre '[' et ']'.
Les parcours à suivre dans l'interface utilisent '>' comme séparateur.
Quelques exemples :

[A] : touche 'A'.
[Num .] : '.' sur le pavé numérique.
[BGS] : Bouton Gauche de la Souris.
[BMS] : Bouton du Milieu de la Souris (il est possible de cliquer avec la molette !).
[BDS] : Bouton Droit de la Souris.
[Maj]+[BDS] : maintenir la touche Majuscule enfoncée et cliquer avec le Bouton Droit de la Souris.
File > Save : menu "File", puis item de menu "Save".


Notre point de départ sera le fichier obtenu à la fin du Tuto 4.
Si vous n'avez pas suivi le Tuto 4, téléchargez le fichier :

toujours.blend (748 Kio)

Ouvrez le fichier :
File > Open...

***

Pour enregistrer le fichier, faites dans le menu principal :
File > Save As...,
choisissez le dossier où vous souhaitez enregistrer, puis cliquez dans la ligne de saisie contenant "toujours.blend", tapez le nom sous lequel vous souhaitez enregistrer le fichier ("property", par exemple) et validez la saisie avec [Entrée] (l'extension ".blend" est ajoutée automatiquement).
Enfin validez l'enregistrement avec [Entrée].
Par la suite, pensez à enregistrer de temps en temps, il suffira de faire :
File > Save
En fait, la version de UPBGE utilisée ici étant marquée "Alpha", elle est potentiellement instable, il est donc fortement recommandé d'enregistrer souvent (raccourci clavier : [Ctrl]+[S]) !

***

La propriété

Nous allons tout d'abord ajouter une propriété à notre personnage.
Suzanne doit être sélectionnée (contour orange), si ce n'est pas le cas, faites [BGS].

Dans le "Logic Editor" (zone du bas), dans le panneau "Properties" (Propriétés) sur le côté droit (qu'on peut afficher/masquer avec [N]), cliquez sur :
Add Game Property
Une propriété est ajoutée.
Cliquez dans le premier champ de la propriété, "Name", et renommez-la "temp" (comme température).
Dans la liste déroulante "Type", choisissez le type "Integer" (Entier).
Enfin activez l'icone "Debug", cela permettra d'afficher la valeur de cette propriété.
Pour cela il faut également cocher :
Properties > Render Properties > Game Debug > [x] Debug Properties

Capture d'écran : Debug Properties

Vous pouvez agrandir la barre latérale de manière à afficher le type "Integer" en entier. Pour cela, amenez le curseur souris sur le bord gauche de la barre de manière à obtenir un curseur de redimensionnement (flèche double), et cliquez-glissez.

Capture d'écran : Propriété

Ensuite amenez le curseur dans la zone principale du "Logic Editor", celle qui contient les blocs, et pressez [Début] pour afficher tous les blocs.

***

Les détecteurs Clavier

Nous allons maintenant ajouter deux détecteurs de type Clavier pour pouvoir modifier la valeur de la propriété.

Ajoutez un détecteur d'évènement clavier (cf Tuto 1) pour la touche [Num +], renommez-le "Num +". Repliez-le.

Ajoutez un contrôleur "And". Repliez-le.

Ajoutez une action de type "Property" :
Add Actuator > Property
Renommez-la "Inc temp" (comme "Incrémenter la température").
Dans la liste déroulante "Mode", choisissez "Add" (Ajouter).
En-dessous, dans le champ "Property", choisissez "temp".
Enfin dans le champ "Value", tapez la valeur 1.
Cette action ajoutera donc 1 à la propriété "temp" :

Capture d'écran : Actuators - Property

Repliez ce bloc.

Enfin connectez ces 3 nouveaux blocs.

Procédez de même pour ajouter un détecteur pour la touche [Num -], renommez-le "Num -".
Il devra être relié, via un contrôleur "And", à une action de type "Property", nommée "Déc temp" (comme "Décrémenter la température"). Utilisez les mêmes valeurs que pour "Inc temp", sauf pour le champ "Value", tapez la valeur -1.

***

Le détecteur "Property"

Nous allons maintenant recycler le détecteur de type "Toujours" (hérité du Tuto 4) pour le transformer en détecteur "Property".
Dépliez le détecteur d'évènement "Toujours" en cliquant sur son icone "Expanded" à gauche.
Changez le type du détecteur : dans la liste déroulante "Type", remplacez "Always" par "Property".
Dans le champ "Name", remplacez le nom du bloc "Toujours" par "temp".
Dans la liste déroulante "Evaluation Type", choisissez "Greater Than" (Supérieure à).
En-dessous, dans le champ "Property", choisissez "temp".
Enfin dans le champ "Value", tapez la valeur 9.
Ce détecteur se déclenchera donc lorsque la propriété "temp" aura une valeur supérieure à 9.

Capture d'écran : Détecteur Property

Suzanne avancera lorsque la température dépassera 9° !

Vous pouvez lancer le jeu pour tester :
Properties > Render Properties > Game Resolution > Standalone Start

Dans le coin supérieur gauche s'affichent des informations.
Dans la section "Debug Properties", est affichée la valeur de la propriété "temp".
Vous pouvez incrémenter cette valeur avec [Num +], la décrémenter avec [Num -].

Voici le fichier final :

property.blend (750 Kio)