Le piattaforme che appaiono e scompaiono periodicamente sono un elemento cruciale delle modalità di gioco a piattaforma come i percorsi a ostacoli. Richiedono ai giocatori di sincronizzare i salti per raggiungere la piattaforma successiva e, se non la riescono a prendere, cadono e devono ricominciare da capo.
Seguendo questo tutorial, imparerai come utilizzare Verse in Unreal Editor per Fortnite (UEFN) per creare una piattaforma che appare e scompare in loop. Lo script completo è incluso come riferimento alla fine di questo tutorial.

Funzionalità del linguaggio Verse utilizzate
loop
: la piattaforma si alterna tra essere visibile e invisibile fino alla fine del gioco. Questo esempio utilizza l'espressione Verseloop
per eseguire continuamente questo comportamento.
API Verse utilizzate
-
Sleep()
: Con la funzioneSleep()
, puoi scegliere per quanto tempo la piattaforma rimane nei suoi stati invisibili e visibili. -
Proprietà modificabili: due proprietà di dispositivo sono esposte a UEFN per poterle personalizzare nell'editor: un riferimento
creative_prop
per la piattaforma e unToggleDelay
per la chiamata alla funzioneSleep()
.
Configurazione del livello
Questo tutorial utilizza come punto di partenza il progetto iniziale di Verse. Per iniziare, inizializza un nuovo progetto dall'esempio della funzione Dispositivo Verse.

Questo esempio utilizza i seguenti oggetti scenografici e dispositivi:
-
1 dispositivo Pedana di generazione giocatore: Questo dispositivo definisce la posizione di generazione del giocatore all'inizio del gioco.
-
3 x oggetti scenografici creativi: gli oggetti scenografici creativi hanno diversi comportamenti che si possono richiamare con Verse, come
Hide()
eShow()
per attivare la visibilità e la collisione della piattaforma. Questo tutorial utilizza la Piattaforma aerea A come piattaforma interattiva per il giocatore, ma puoi modificarla in base alle esigenze della tua esperienza.
Segui questi passaggi per impostare il tuo livello:
-
Trascina una piattaforma aerea A alla scena. Posizionala sopra il pavimento in modo che il giocatore cada se non salta in tempo dalla piattaforma che scompare. Nell'Outliner, denomina la piattaforma LoopingDisappearingPlatform.
-
Copia la piattaforma due volte e posizionala ai lati opposti della prima piattaforma, in modo che il giocatore debba cronometrare il salto. Il giocatore deve avere appena il tempo di arrivare dall'altra parte.
-
Sposta la Pedana di generazione giocatore su una delle piattaforme. Questa è la posizione di generazione del giocatore all'inizio del gioco. La configurazione del livello deve essere simile a questa:
Creazione del dispositivo Verse
Questo esempio utilizza un dispositivo Verse per definire il comportamento che altera la visibilità della piattaforma. Segui questi passaggi per creare il tuo dispositivo Verse e posizionalo nel livello.
-
Crea un nuovo dispositivo Verse denominato looping_disappearing_platform utilizzando Verse Explorer. Per informazioni sui passaggi, vedi Creare il tuo dispositivo utilizzando Verse.
-
Trascina il dispositivo looping_disappearing_platform da Esplora contenuti nel livello. Per informazioni sui passaggi, vedi Creare il tuo dispositivo utilizzando Verse.
Modifica delle proprietà del dispositivo in UEFN
Questa sezione mostra come esporre due proprietà del dispositivo a UEFN per personalizzarle nell'editor:
-
Un riferimento
creative_prop
all'oggetto scenografico creativo inserito nel livello. -
La costante
float
per memorizzare per quanto tempo la piattaforma deve essere invisibile/visibile, denominataToggleDelay
.
Segui questi passaggi per esporre queste proprietà dal dispositivo looping_disappearing_platform creato nella sezione precedente.
-
Apri Verse Explorer e fai doppio clic su looping_disappearing_platform.verse per aprire lo script in Visual Studio Code.
-
Alla definizione della classe
looping_disappearing_platform
, aggiungi i seguenti campi:-
Un
float
modificabile chiamatoToggleDelay
. Rappresenta il tempo che intercorre tra il passaggio da visibile a invisibile. Inizializza questo valore a2.0
, ovvero due secondi.# La quantità di tempo da attendere prima di attivare/disattivare la visibilità della piattaforma. @editable ToggleDelay:float = 2.0
-
Un
creative_prop
modificabile chiamatoDisappearingPlatform
. Si tratta della piattaforma di livello che scomparirà e riapparirà periodicamente. Poiché il tuo codice non ha ancora un riferimento a questo oggetto nel livello, lo istanzierai con un archetipocreative_prop{}
vuoto. In seguito assegnerai questo riferimento alla piattaforma fluttuante.# Riferimento alla piattaforma nel livello. @editable DisappearingPlatform:creative_prop = creative_prop{}
-
-
I campi della classe
looping_disappearing_platform
ora devono apparire così:using { /Fortnite.com/Devices } using { /Verse.org/Simulation } using { /UnrealEngine.com/Temporary/Diagnostics } # Visita https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse per maggiori informazioni sulla creazione di un dispositivo Verse. # Dispositivo di Fortnite Creativo sviluppato con Verse che può essere inserito in un livello looping_disappearing_platform := class(creative_device): # La quantità di tempo da attendere prima di attivare/disattivare la visibilità della piattaforma. @editable ToggleDelay:float = 2.0 # Riferimento alla piattaforma nel livello. @editable DisappearingPlatform:creative_prop = creative_prop{}
È utile usare l'attributo
@editable
per esporre valori comeToggleDelay
all'editor dai tuoi script. Questo ti permette di personalizzare i loro valori in UEFN senza dover ricompilare ogni volta il codice Verse, in modo da poter iterare rapidamente e trovare i valori che si adattano alla tua esperienza di gioco.
Salva lo script in Visual Studio Code e compila per aggiornare il dispositivo looping_disappearing_platform nel livello.

-
Nel pannello Outliner di UEFN, seleziona il dispositivo looping_disappearing_platform per aprire il relativo pannello Dettagli.
-
Nel pannello Dettagli sotto Piattaforma a scomparsa in loop:
-
Imposta DisappearingPlatform su LoopingDisappearingPlatform (l'oggetto scenografico creativo aggiunto al livello) facendo clic sul selettore di oggetti e selezionando l'oggetto creativo nella viewport, oppure cercando LoopingDisappearingPlatform nella barra di ricerca.
-
Imposta ToggleDelay sul numero di secondi in cui desideri che la piattaforma sia visibile/invisibile. Il valore predefinito è 2.0, poiché è il valore definito in precedenza.
-
Nascondere e mostrare la piattaforma
Ora che hai impostato il livello e i dispositivi, puoi aggiungere la logica per mostrare e nascondere la piattaforma. Segui questi passaggi per aggiungere questo comportamento al dispositivo looping_disappearing_platform.
-
La classe
creative_prop
ha due metodi per attivare/disattivare la sua visibilità:Hide()
eShow()
. Tornando al Visual Studio Code, inOnBegin()
, chiamaHide()
e poiShow()
sulla tuaDisappearingPlatform
.# Viene eseguito quando il dispositivo viene avviato in un gioco in esecuzione OnBegin<override>()<suspends>:void= # Rendere la piattaforma invisibile. DisappearingPlatform.Hide() # Rendere visibile la piattaforma. DisappearingPlatform.Show()
Se esegui questo codice, non vedrai la piattaforma scomparire e ricomparire perché le chiamate a
Hide()
eShow()
si verificano immediatamente una dopo l'altra. -
Per far sì che la piattaforma rimanga in uno stato visibile/invisibile più a lungo, è necessario aggiungere un ritardo prima di ogni chiamata a
Hide()
eShow()
utilizzandoSleep()
. La funzioneSleep()
sospende l'esecuzione di una routine e ti permette di specificare la quantità di tempo (in secondi) per sospendere l'esecuzione passando un argomentofloat
alla funzione. ChiamaSleep()
prima di ogni chiamata aHide()
eShow()
, passando ilToggleDelay
definito in precedenza.# Viene eseguito quando il dispositivo viene avviato in un gioco in esecuzione OnBegin<override>()<suspends>:void= # Attendere i secondi di ToggleDelay. Sleep(ToggleDelay) # Rendere la piattaforma invisibile. DisappearingPlatform.Hide() # Attendere i secondi di ToggleDelay. Sleep(ToggleDelay) # Rendere visibile la piattaforma. DisappearingPlatform.Show()
Se esegui questo codice, la piattaforma sarà invisibile per due secondi (la quantità definita da
ToggleDelay
) prima che diventi visibile per il resto del gioco.La funzione
Sleep()
può essere chiamata solo in un contesto asincrono. Il metodoOnBegin()
è già un contesto asincrono, poiché ha lo specificatoresuspends
, quindi non è necessario fare altro. Per ulteriori informazioni sullo specificatoresuspends
, vedi Specificatori e attributi. -
Per far sì che la piattaforma si alterni tra uno stato visibile e invisibile per tutto il tempo di esecuzione del gioco, puoi usare l'espressione
loop
. L'uso diloop
esegue ripetutamente il codice all'interno dell'espressioneloop
, a meno che il codice non venga interrotto da unbreak
. In questo esempio, vuoi attivare o disattivare la visibilità della piattaforma per tutto il tempo di esecuzione del gioco, quindi non è necessario aggiungere un'espressionebreak
per uscire dalloop
. Aggiungi un'espressioneloop
all'inizio diOnBegin()
e applica un rientro al resto del codice in modo che sia all'interno del ciclo. Il metodoOnBegin()
deve essere simile a:# Viene eseguito quando il dispositivo viene avviato in un gioco in esecuzione OnBegin<override>()<suspends>:void= loop: # Attendere i secondi di ToggleDelay. Sleep(ToggleDelay) # Rendere la piattaforma invisibile. DisappearingPlatform.Hide() # Attendere i secondi di ToggleDelay. Sleep(ToggleDelay) # Rendere visibile la piattaforma. DisappearingPlatform.Show()
-
Salva lo script e fai clic su Verse, quindi su Compila il codice Verse per compilare il codice.
-
Fai clic su Avvia sessione nella barra degli strumenti UEFN per eseguire il playtest del livello.
Durante il playtest del livello, la piattaforma deve apparire e scomparire ogni due secondi per tutto il tempo in cui il gioco è in esecuzione.

Script completo
Il codice seguente è lo script completo per far scomparire e comparire una piattaforma in un loop.
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Visita https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse per maggiori informazioni sulla creazione di un dispositivo Verse.
# Dispositivo di Fortnite Creativo sviluppato con Verse che può essere inserito in un livello
looping_disappearing_platform := class(creative_device):
# La quantità di tempo da attendere prima di attivare/disattivare la visibilità della piattaforma.
@editable
ToggleDelay:float = 2.0
# Riferimento alla piattaforma nel livello.
@editable
DisappearingPlatform:creative_prop = creative_prop{}
# Viene eseguito quando il dispositivo viene avviato in un gioco in esecuzione
OnBegin<override>()<suspends>:void=
loop:
# Attendere i secondi di ToggleDelay.
Sleep(ToggleDelay)
# Rendere la piattaforma invisibile.
DisappearingPlatform.Hide()
# Attendere i secondi di ToggleDelay.
Sleep(ToggleDelay)
# Rendere visibile la piattaforma.
DisappearingPlatform.Show()
In autonomia
Completando questo tutorial, hai imparato a creare un dispositivo utilizzando Verse che attiva o disattiva la visibilità di una piattaforma per tutta la durata del gioco.
Utilizzando ciò che hai imparato, prova quanto segue:
-
Duplica l'impostazione con il dispositivo looping_disappearing_platform e l'oggetto scenografico e prova diversi tempi
ToggleDelay
per creare una serie più lunga di piattaforme. -
Applica gli stessi concetti per chiamare periodicamente funzioni su altri oggetti, come il dispositivo Movimento oggetto scenografico.