Oyuncunun ara sahneye dahil olduğu açılış sahnesini oluşturmak için açılış ara sahnesinin oynatılması bittikten sonra oyuncuyu bodruma ışınlamalısın. Bunu yapmak için aşağıdaki kod parçacığını kullanacaksın:
AllPlayers := GetPlayspace().GetPlayers()
for (Agent : AllPlayers):
Teleporter.Teleport(Agent)
Bu kod parçası, adandaki tüm oyuncuları alıp onlara bir fonksiyon uygulamak için tasarlanmıştır. Bu örnekteki fonksiyon, ışınlanmadır.
Bir Ara Sahneden Sonra Oyuncuları Işınlama
Verse Gezgini’ni kullanarak cutscene_transporter adlı yeni bir Verse cihazı oluştur ve cihazı bölüme sürükle. Verse Gezgini’nden cutscene_transporter.verse dosyasına çift tıklayarak kodu Visual Studio Code ile aç.
- transporter_device sınıf tanımının altına aşağıdaki cihazlar için düzenlenebilir alanlar ekle:
-
CinemtaicSequence
-
Teleporter
-
PlayerSpawner
cutscene_transporter := class(creative-device):
@editable
CinematicSequence : cinematic_sequence_device = cinematic_sequence_device{}
@editable
Teleporter : teleporter_device = teleporter_device{}
@editable
PlayerSpawner : player_spawner_device = player_spawner_device{}
teleport_device
sınıfınaTeleportPlayers()
adlı yeni bir metot ekle. Bu metot, her bir oyuncuyu alt bodrumda oluşturduğun ışınlayıcıya ışınlar. Daha önceki kod parçacığınıTeleportPlayers()
metoduna ekle.
TeleportPlayers():void=
AllPlayers := GetPlayspace().GetPlayers()
for (Agent : AllPlayers):
Teleporter.Teleport(Agent)
OnBegin()
içindeCinematicSequence
cihazındakiStoppedEvent
olayınıTeleportPlayers()
metoduna bağla.TeleportPlayers()
metoduna bağlanmak cihazınCinematicSequence
StoppedEvent
olayını dinlemesine neden olur, sonra aşağıdaki TeleportPlayers metodunu yürütür.
OnBegin<override>()<suspends>:void=
Print(“Ara Sahne Yükleniyor”)
CinematicSequence.StoppedEvent.Subscribe(TeleportPlayers)
teleporter_device
kodun şu anda aşağıdaki gibi görünmelidir:
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
## Bir bölüme yerleştirilebilen, Verse ile yazılmış bir Kreatif cihazı
log_transporter_device := class(log_channel){}
transporter_device := class(creative_device):
@editable
CinematicSequence:cinematic_sequence_device = cinematic_sequence_device{}
@editable
Teleporter : teleporter_device = teleporter_device{}
@editable
PlayerSpawner : player_spawner_device = player_spawner_device{}
## Sürmekte olan bir oyunda başlatıldığında çalışır
OnBegin<override>()<suspends>:void=
Print(“Ara Sahne Yükleniyor”)
CinematicSequence.StoppedEvent.Subscribe(TeleportPlayers)
TeleportPlayers():void=
AllPlayers := GetPlayspace().GetPlayers()
for (Agent : AllPlayers):
Teleporter.Teleport(Agent)
-
Kodu Visual Studio Code’a kaydet ve UEFN’de Verse Kodu Oluştur’a tıkla.
-
Oyuncu Çıkma Yeri cihazını Durr Burger otoparkına, Işınlayıcı cihazını ise alt bodrumun bekleme alanına yerleştir.
-
Anahat Düzenleyicisi’nde teleport_device cihazını seç ve Sinematik Sekans, Oyuncu Çıkma Yeri ve Işınlayıcı cihazlarını Ayrıntılar panelindeki ilgili özelliklerine ata.
-
Koda oynanış testi yapmak için Değişiklikleri Gönder’e tıkla.
Ara sahne başladığında oyuncu Durr Burger otoparkında başlamalıdır. Ara sahnenin oynatılması bittiğinde oyuncu oyunun başladığı bodruma ışınlanmalıdır.
Sonraki Bölüm
Bu eğitimin bir sonraki adımında hem hikâyeyi sürdüren hem de ruh hali ile atmosferi oluşturan sinematiklerin nasıl kullanılacağını öğreneceksin.