À l'étape précédente, vous avez créé un PNJ qui peut avancer et tourner à gauche et à droite lorsqu'il reçoit des commandes. À cette étape, vous allez maintenant configurer des plateaux de jeu sur lesquels le personnage peut se déplacer.
Dans ce jeu, le plateau doit connaître les éléments suivants et savoir les gérer :
Taille des carrés : dimension des carrés du plateau, permettant au personnage de savoir jusqu'où il peut se déplacer.
Caméra : caméra à utiliser lorsque le personnage atteint ce plateau de jeu. Pour cela, nous utilisons l'appareil Caméra : point fixe.
Position de départ : position à laquelle le personnage doit commencer sur le plateau. Un accessoire du mode Créatif est utilisé à cet effet pour le définir facilement comme propriété modifiable et obtenir sa transformation.
Objectif final : objectif final vers lequel le personnage doit progresser et qui signale la fin du plateau de jeu. Nous utilisons pour cela un déclencheur, qui émet un signal lorsque le personnage marche dessus.
Obstacles : les obstacles empêchent le personnage d'atteindre immédiatement le but final. Ceux-ci sont expliqués plus en détail dans la rubrique Créer des obstacles.
Chacun d'eux fait l'objet d'un suivi dans la classe du plateau de jeu. La classe possède le spécificateur `concrete` afin de pouvoir être une propriété modifiable sur un appareil Verse, et chaque membre de la classe possède un attribut `editable` afin de pouvoir modifier les valeurs à partir de l'UEFN.
# This class represents the gameboard and how it behaves.
# This class has the concrete specifier so it can be an editable property on a Verse device.
gameboard<public> := class<concrete>:
# The size of each tile on the gameboard. By default set to
# the default Fortnite tile size of 512x512x384.
@editable
TileSize<public>:vector3 = vector3{X:=512.0, Y:=512.0, Z:=384.0}
# The fixed point camera that provides a top-down view of the gameboard
Après avoir défini le plateau de jeu avec ses propriétés, ajoutez son comportement :
Gestion de l'objectif final : une fois le plateau de jeu configuré, nous vous abonnons à l'événement
TriggeredEventde l'objectif final. Vous utilisez un gestionnaire d'événements et un événement personnalisé pour signaler publiquement que l'objectif final a été atteint lorsque le personnage actionne le déclencheur. Pour en savoir plus, consultez la rubrique Interactions des appareils de codage.Plateau de jeu de départ : au début du plateau de jeu, attribuez l'appareil Caméra à tous les joueurs.
Plateau de jeu de fin : à la fin du plateau de jeu, supprimez l'appareil Caméra de tous les joueurs.
Voici la classe complète de gameboard :
# This class represents the gameboard and how it behaves.
# This class has the concrete specifier so it can be an editable property on a Verse device.
gameboard<public> := class<concrete>:
# The size of each tile on the gameboard. By default set to
# the default Fortnite tile size of 512x512x384.
@editable
TileSize<public>:vector3 = vector3{X:=512.0, Y:=512.0, Z:=384.0}
# The fixed point camera that provides a top-down view of the gameboard
Créer des obstacles
Les obstacles empêchent le personnage d'atteindre immédiatement l'objectif final. Ce jeu fait appel à des barrières comme obstacles pour empêcher le personnage de se déplacer et à des déclencheurs qui désactivent les barrières.
La définition de la classe obstacle inclut :
IsObstaclePassed : données permettant de déterminer si les barrières sont actuellement activées ou désactivées. Type Logic, car il n'y a que deux états.
Barrières : appareils Barrière associés à l'obstacle. Vous pouvez disposer de plusieurs barrières associées à un unique déclencheur qui permet de désactiver celles-ci.
BarrierDissolves : séquences cinématiques à lire lorsque les obstacles sont franchis.
BarrierAppears : séquences cinématiques à lire lorsque les obstacles sont réinitialisés.
Déclencheur : appareil Déclencheur que le personnage doit atteindre pour désactiver l'obstacle.
Vous trouverez ci-dessous la classe complète qui représente les obstacles ; cette classe possède le spécificateur `concrete` pour pouvoir être une propriété modifiable sur un appareil Verse.
# An obstacle on the gameboard, with an associated set of
# Barrier devices, Trigger devices that deactivate the barriers,
# and Cinematic Sequence devices that play sequences for barriers dissolving and appearing for visual feedback on what is happening.
# This class has the concrete specifier so it can be an editable property on a Verse device.
obstacle := class<concrete>:
# Data for storing whether barriers are currently enabled/disabled.
var IsObstaclePassed:logic = false
# The array of barriers for this obstacle.
Ajouter des plateaux de jeu
Maintenant que le plateau de jeu est défini, vous pouvez ajouter une matrice de ces plateaux de jeu à votre appareil Verse, ce que vous verrez plus loin à l'étape 6. Gérer la boucle de jeu.
Dans le projet que vous avez créé à partir du modèle VKT - Jeux de démarrage à appareils Verse, recherchez dans l'organiseur l'appareil Mini-jeu Commandant Verse et sélectionnez-le pour ouvrir le panneau Détails correspondant.
Dans le panneau Détails, sous Plateaux de jeu, cinq éléments qui correspondent aux plateaux du jeu sont disponibles. Développez ces éléments pour savoir quels appareils, cinématiques et autres propriétés sont utilisés pour le plateau de jeu.
Vous pouvez ajouter des plateaux de jeu en sélectionnant Ajouter un élément pour les plateaux de jeu, afin d'ajouter des niveaux au jeu.
Si vous souhaitez supprimer des niveaux de votre jeu, cliquez sur le menu déroulant situé à côté des plateaux de jeu à supprimer, puis cliquez sur **Supprimer**.
Vous pouvez en outre réorganiser les plateaux de jeu pour modifier l'ordre des niveaux dans le jeu en maintenant l'appui sur l'élément et en le faisant glisser avant ou après d'autres éléments de plateau de jeu.
Pour tester des niveaux spécifiques, vous pouvez réorganiser les plateaux de manière à placer le niveau que vous souhaitez tester en haut de la liste.
Étape suivante
Vous avez défini les plateaux de jeu et avez appris à en ajouter autant que vous le souhaitez. Dans l'étape suivante, vous apprendrez à en personnaliser la conception en vue de créer des énigmes amusantes et de contourner les limitations.