Bu bölümde, kamera görünümleri ve kullanıcı arayüzü öğeleri için zamanlamayı ve geçişleri yönetmek üzere Verse cihazını nasıl oluşturacağını öğreneceksin. Bu bölümün sonunda verilen tam kodu kopyalayıp yapıştırabilirsin.
Başlık Sekansı Verse cihazını oluşturmak için şu adımları izle:
title_sequence adlı yeni bir Verse cihazı oluştur ve cihazı bölümüne ekle. İzlenecek adımlar için Verse Kullanarak Kendi Cihazını Oluştur kısmına bakabilirsin.
Verse cihazına aşağıdaki alanları ekle:
Başlık ekranlarını göstermek için kullanacağın kamera olan
SplashScreenGameCameraadlı bir düzenlenebilir Sabit Konum Kamerası cihaz sabiti.Oyun başlığını göstereceğin kamera olan
TitleGameCameraadlı bir düzenlenebilir Sabit Konum Kamerası cihazı.Oyuncunun oyunu başlatmayı seçmesi için diyalog seçeneğini gösterecek olan
StartGameDialogadlı düzenlenebilir bir Açılır Diyalog cihazı.Oyun başlığı kullanıcı arayüzünü gösterecek olan
TitleScreenadlı düzenlenebilir bir Gösterge Paneli Mesajı cihazı.Oyun menüsü belirmeden önce başlık ekranının ne kadar süreyle gösterilmesi gerektiğini tanımlayan
GameMenuDelayadlı düzenlenebilir bir kayan sayı.Başlık ekranından önce tüm açılış ekranlarını gösterecek olan
SplashScreensadlı düzenlenebilir bir Gösterge Paneli Mesajı cihazları dizisi.Tanıtım sırasında tüm oyun içi kullanıcı arayüzü öğelerini gizleyecek Gösterge Paneli Denetleyici olan
IntroHUDControlleradlı düzenlenebilir bir Gösterge Paneli Denetleyici cihazı.Oyun başladığında görünecek tüm oyun içi kullanıcı arayüzü öğelerini gösterecek Gösterge Paneli Denetleyici olan
GameHUDControlleradlı düzenlenebilir bir Gösterge Paneli Denetleyici cihazı.Oyunun başladığını tüm cihazlara bildirmek için kullanabileceğin
GameStartadlı düzenlenebilir bir Tetikleyici cihazı.Verseusing { /Fortnite.com/Characters } using { /Fortnite.com/Devices } using { /UnrealEngine.com/Temporary/Diagnostics } using { /Verse.org/Simulation } title_sequence:= class(creative_device): # Game camera to show splash screens on top of. @editable SplashScreenGameCamera:gameplay_camera_fixed_point_device = gameplay_camera_fixed_point_device{}
Suspends belirleyicisine sahip
ShowTitleAndGameMenu()adlı bir metot oluştur. Bu metot başlık kamerasını gösterecek, başlık ekranını görüntüleyecek, oyun başlatma iletişim kutusunu göstermeden önce GameMenuDelay değeri kadar saniye bekleyecek ve oyuncunun kullanıcı arayüzündeki Oyunu Başlat düğmesine basmasını bekleyecek.# Başlık ekranını ve Oyunu Başlat seçeneğini gösterir. ShowTitleAndGameMenu()<suspends>:void= # Başlık kamerasını tüm oyunculara ekle. TitleGameCamera.AddToAll() # Başlık ekranını göster. TitleScreen.Show() # Oyunu Başlat seçeneğini göstermeden önce GameMenuDelay saniye bekle. Sleep(GameMenuDelay) # Oyunu Başlat seçeneğini göster. StartGameDialog.Show() # Başka bir şey yapmadan önce oyuncunun Oyunu Başlat düğmesine basmasını bekle. StartGameDialog.RespondingButtonEvent.Await()HideTitleAndGameMenu()adlı bir metot oluştur. Bu metot, başlık ekranını gizleyecek ve başlık için kullanılan kamerayı kaldıracaktır. ~~~(verse) # Başlık ekranını gizleye ve kamerayı tüm oyunculardan kaldır. HideTitleAndGameMenu():void= TitleScreen.Hide() TitleGameCamera.RemoveFromAll() ~~~ShowSplashScreens()adlı bir metot oluştur. Bu metot, açılış ekranını göstermek içinSplashScreensdizisine eklenen tüm Gösterge Paneli Mesajı cihazlarında yinelenecek ve açılış ekranı kendi özelliklerine göre görüntülenecek şekilde ayarlanana kadar bekleyecektir. Tüm açılış ekranları gösterildikten sonra açılış ekranları kamerası devre dışı bırakılır.# Açılış ekranları serisini göster. ShowSplashScreens()<suspends>:void= # Tüm açılış ekranlarını yineler. for (SplashScreen : SplashScreens): # Her bir açılış ekranını göster. SplashScreen.Show() # Açılış ekranının gösterilmesi gereken süre kadar bekle. Sleep(SplashScreen.GetDisplayTime()) # Açılış ekranlarını göstermek için kullanılan oyun kamerasını kaldır. SplashScreenGameCamera.Disable()ToggleStasisForAllPlayers()adlı bir metot oluştur. Bu metot, tüm oyuncularda yinelenecek veShouldFreezebağımsız değişkenitrueise durağan duruma geçirecek (böylece hareket edemeyecekler) veShouldFreezebağımsız değişkenifalseise durağan durumdan çıkaracaktır (böylece yeniden hareket edebilecekler).# Oyuncu durağan durumunu değiştir. # ShouldFreeze değeri true ise tüm oyuncular durağan duruma geçirilir. # ShouldFreeze değeri false ise tüm oyuncular durağan durumdan çıkarılır. ToggleStasisForAllPlayers(ShouldFreeze:logic):void= for: Player : GetPlayspace().GetPlayers() Character := Player.GetFortCharacter[] do: if (ShouldFreeze?): # Oyuncuyu durağan duruma geçir ve dönmesine veya ifade yapmasına izin verme. Character.PutInStasis(stasis_args{AllowFalling := true, AllowTurning := false, AllowEmotes := false}) else: # Oyuncuyu durağan durumdan çıkar. Character.ReleaseFromStasis()Aşağıdakileri yapmak için
OnBegin()fonksiyonunu güncelle:IntroHUDController.Enable()ile tanıtım sırasında tüm oyun içi kullanıcı arayüzü Gösterge Paneli öğelerini gizleyecek Gösterge Paneli Denetleyiciyi etkinleştir.ToggleStasisForAllPlayers(true)ile tanıtım sırasında hareket etmemeleri için tüm oyuncuları durağan duruma geçir.ShowSplashScreens()ile açılış ekranları sekansını göster.Defer ifadesini kullanarak ve
HideTitleAndGameMenu()fonksiyonunu çağırarak, buOnBegin()fonksiyonunun en son saniyesinde başlığı ve oyun menüsünü gizle.ShowTitleAndGameMenu()ile başlığı ve oyun menüsünü göster.ToggleStasisForAllPlayers(false)ile oyuncuları durağan durumdan çıkar.Gösterge Paneli Denetleyicileri tanıtım Gösterge Panelinden asıl oyun Gösterge Paneline geçir.
Son olarak, oyunun başlayacağını dinlemekte olan tüm cihazlara bildirmek için
GameStart.Trigger()fonksiyonunu çağır.# Cihaz, çalışmakta olan bir oyunda başlatıldığında çalışır OnBegin<override>()<suspends>:void= IntroHUDController.Enable() # Her şeyin başlatılması için bir simülasyon güncellemesi bekle. Sleep(0.0) * Hareket etmemeleri için tüm oyuncuları durağan duruma geçir. ToggleStasisForAllPlayers(true) # Açılış ekranları serisini göster. ShowSplashScreens() * En son saniyede başlığı ve oyun menüsünü gizle. # Bu erteleme, geçerli kod bloğundan çıkıldığında, # yani bu OnBegin fonksiyonunun sonunda, GameStart.Trigger() fonksiyonundun ardından yürütülür. defer: HideTitleAndGameMenu() # Başlığı ve oyun menüsünü göster. ShowTitleAndGameMenu() # Yeniden hareket edebilmeleri için oyuncuları durağan durumdan çıkar. ToggleStasisForAllPlayers(false) # Gösterge Paneli Denetleyicileri asıl oyun Gösterge Paneline geçir. IntroHUDController.Disable() GameHUDController.Enable() # Oyunun artık başlayacağını dinlemekte olan tüm cihazlara bildir! GameStart.Trigger()
Verse dosyanı kaydet ve bölümdeki Verse cihazını güncellemek kodunu derle.
Tam Kod
Başlık Sekansı Verse cihazı için tam kod aşağıda yer alıyor.
using { /Fortnite.com/Characters }
using { /Fortnite.com/Devices }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Verse.org/Simulation }
title_sequence := class(creative_device):
# Game camera to show splash screens on top of.
@editable
SplashScreenGameCamera:gameplay_camera_fixed_point_device = gameplay_camera_fixed_point_device{}