Una volta posizionati tutti i dispositivi, è il momento di configurarne le interazioni.
L'associazione diretta evento permette ai dispositivi di comunicare direttamente tra loro utilizzando eventi e funzioni. Scopri di più qui.
Dispositivo A | Funzione | Dispositivo B | Evento | Spiegazione |
---|---|---|---|---|
Barriera vuota 1 e 2 ![]() |
Disabilita | Timer ![]() |
On Success | Quando il timer arriva a zero, le barriere scompaiono. |
Barriera opaca ![]() |
Disabilita | Timer ![]() |
On Success | Quando il timer arriva a zero, le barriere scompaiono. |
Ecco uno screenshot della schermata una volta impostata l'associazione:

Associazione diretta evento con Verse
In alternativa, puoi utilizzare Verse per programmare la logica del dispositivo.
Il primo passaggio è creare il tuo dispositivo utilizzando Verse. Per ulteriori informazioni, puoi studiare la guida Nozioni di base sulla programmazione in Verse, poi tornare qui per applicare i concetti appresi.
Ora devi fare riferimento ai dispositivi che controllerai con Verse nel tuo script.
Ti occorreranno 3 barrier_device
e 1 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{}
Compila il tuo codice e trascina il box_fight_manager
nel livello, poi seleziona i dispositivi corrispondenti:

Per questo esempio, il Timer
deve avviarsi autonomamente quando inizia il gioco. Allo scadere della quantità di tempo impostata, il Timer
riesce e le barriere vengono disabilitate.
Effettua la sottoscrizione a SuccessEvent
del Timer
quando inizia il gioco:
OnBegin<override>()<suspends>:void=
Timer.SuccessEvent.Subscribe(DropBarriers)
Sarà richiamato DropBarriers
, disabilitando le tre barriere:
DropBarriers(Player:?agent):void=
Barrier1.Disable()
Barrier2.Disable()
MidBarrier.Disable()
Tieni presente che SuccessEvent
prevede di chiamare una funzione che accetta un argomento agent
.
Compila il tuo codice ed è fatta! Ora puoi eseguire il playtest della tua isola.
Ecco lo script completo, come riferimento:
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()
Playtest dell'isola
Ce l'hai fatta!
Una volta che tutto è configurato e pronto, puoi [eseguire il playtest della tua isola] (playtesting-your-island-unreal-editor-for-fortnite) per accertarti che venga eseguito come previsto in Fortnite.
Per Pubblicare il tuo progetto, consulta la pagina Pubblicazione di progetti.