Une fois tous les appareils en place, vous devez configurer la façon dont ils interagissent.
La liaison d'événements directe permet aux appareils de communiquer directement entre eux en utilisant les événements et les fonctions. Pour en savoir plus, cliquez ici.
Appareil A | Fonction | Appareil B | Événement | Explication |
---|---|---|---|---|
Barrières creuses 1 et 2 ![]() |
Désactiver | Chronomètre ![]() |
À la réussite | Les barrières disparaissent à la fin du chronomètre. |
Barrière opaque ![]() |
Désactiver | Chronomètre ![]() |
À la réussite | Les barrières disparaissent à la fin du chronomètre. |
Voici une capture d'écran qui illustre la liaison une fois établie :

Liaison d'événements directe avec Verse
Vous pouvez également utiliser Verse pour programmer la logique des appareils.
La première étape consiste à créer votre propre appareil avec Verse. Pour en savoir plus, consultez le tutoriel Apprendre les principes d'écriture de code avec Verse, puis revenez à cette leçon pour appliquer ces principes.
Vous devez ensuite référencer les appareils que vous contrôlerez avec Verse dans votre script.
Vous devez disposer de trois barrières (barrier_device
) et d'un chronomètre (timer_device
) :
box_fight_manager := class<concrete>(creative_device):
Logger:log = log{Channel:=box_fight_log}
@editable
Barrier1:barrier_device = barrier_device{}
@editable
Barrier2:barrier_device = barrier_device{}
@editable
MidBarrier:barrier_device = barrier_device{}
@editable
Timer:timer_device = timer_device{}
Compilez votre code, faites glisser le box_fight_manager
jusqu'au niveau, puis sélectionnez les appareils correspondants :

Dans cet exemple, le chronomètre (Timer
) doit se déclencher automatiquement au début du jeu. Une fois le délai défini écoulé, le chronomètre se déclenche et les barrières sont désactivées.
Abonnez-vous à l'événement SuccessEvent
de Timer
lorsque le jeu commence :
OnBegin<override>()<suspends>:void=
Timer.SuccessEvent.Subscribe(DropBarriers)
DropBarriers
est appelé et désactive les trois barrières :
DropBarriers(Player:?agent):void=
Barrier1.Disable()
Barrier2.Disable()
MidBarrier.Disable()
Notez que l'événement SuccessEvent
s'attend à appeler une fonction qui prend un argument agent
.
Compilez votre code. Vous avez terminé ! Vous voilà en mesure de tester votre île.
À titre de référence, voici le script complet :
using { /Fortnite.com/Devices }
using { /Verse.org/Native }
using { /Verse.org/Simulation } }
using { /UnrealEngine.com/Temporary/Diagnostics }
box_fight_log:=class(log_channel){}
box_fight_manager := class<concrete>(creative_device):
Logger:log = log{Channel:=box_fight_log}
@editable
Barrier1:barrier_device = barrier_device{}
@editable
Barrier2:barrier_device = barrier_device{}
@editable
MidBarrier:barrier_device = barrier_device{}
@editable
Timer:timer_device = timer_device{}
OnBegin<override>()<suspends>:void=
Timer.SuccessEvent.Subscribe(DropBarriers)
DropBarriers(Player:?agent):void=
Barrier1.Disable()
Barrier2.Disable()
MidBarrier.Disable()
Tester votre île
Félicitations, vous avez réussi !
Une fois tous les éléments configurés, vous êtes en mesure de tester votre île pour vérifier qu'elle fonctionne comme prévu dans Fortnite.
Pour publier des projets, consultez la page Publier les projets.