Üst Öğe: learn-game-mechanics-in-unreal-editor-for-fortnite Type: tutorial Order: tags: kodlar Tags: verse Hero-image: disappear-touch-hero.png Topic-image: disappear-touch-topic.png Social-image: disappear-touch-social.png
Üzerine çıktığında kaybolan platformlar, engelli parkurlar gibi platformlu oyun modlarının başlıca unsurları arasındadır. Oyuncunun hızlı hareket etmesini ve düşmemek için nereye gideceğini planlamasını gerektirir.
Bu eğitimi izleyerek, oyuncu dokunduğunda kaybolup rastgele sayıda saniye sonra tekrar beliren bir platformu Fortnite İçin Unreal Editor’de (UEFN) Verse kullanarak nasıl oluşturacağını öğreneceksin. Bu örnekte, oyuncunun düşmemek için platformdan platforma atlaması gereken bir alanın nasıl oluşturulacağı gösteriliyor. Tam kod, referans olması için bu kılavuzun sonuna eklenmiştir.

Kullanılan Verse Dili Özelliği
spawn
:spawn
ifadesi, platformu rastgele bir sayıda saniye sonra görünür hale getiren asenkron fonksiyonu çağırmak için kullanılır.
Kullanılan Verse API’ları
-
Sleep()
:Sleep()
API’si, platformun kaybolmasıyla rastgele bir süre sonra tekrar belirmesi arasındaki gecikmeleri eklemek için kullanılır. -
GetRandomFloat()
:GetRandomFloat()
API’si, platformun tekrar belirmesi öncesinde bir rastgele süre hesaplamak için kullanılır. -
Düzenlenebilir Özellikler: Platformun kaybolma ve yeniden belirme gecikmelerini kontrol edecek üç değişken ve platform referansının kendisi olmak üzere dört özellik UEFN'e açılır.
-
Cihaz Olayları: Bir oyuncunun platforma ne zaman indiğini öğrenmek için Tetikleyici cihazın
TriggeredEvent
fonksiyonunu kullanırsın.
Bölümü Ayarlama
Bu eğitimde başlangıç noktası olarak Verse Başlangıç Şablonu kullanılmaktadır. Başlamak için Verse Cihazı özellik örneğinden yeni bir proje oluştur.

Bu örnekte aşağıdaki nesne ve cihazlar kullanılıyor.
-
1 x Oyuncu Doğma Karesi Cihazı: Bu cihaz, oyuncunun oyun başlangıcında nerede doğacağını belirler.
-
4 x Kreatif Nesne: Kreatif nesneler, platformun görünürlüğünü ve çarpışmasını değiştirmek için
Hide()
veShow()
gibi Verse ile çağırabileceğin çeşitli davranışlara sahiptir. Bu eğitimde oyuncu etkileşimli platform olarak Airborne Hoverplatform A kullanılmaktadır. Bunu deneyiminin ihtiyaçlarına göre değiştirebilirsin. -
4 x Tetikleyici cihaz: Bir oyuncunun her platforma ne zaman indiğini öğrenmek için bu tetikleyicileri kullanırsın.
Bölümünü ayarlamak için şu adımları izle:
-
Sahnene bir adet Airborne Hoverplatform A ekle. Zeminin üzerine yerleştir, böylece oyuncu kaybolan platformdan zamanında atlamazsa düşecektir. Anahat Düzenleyici’de platformu RecyclePlatform olarak adlandır.
-
Sahnene bir Tetikleyici cihaz ekle ve bunu RecyclePlatform’un bir öğesi olarak ayarla. Bunu platformun en üstüne yerleştir ve platformun tamamına sığacak şekilde yeniden boyutlandır. Anahat Düzenleyicisinde, Oyunda Görünür öğesini False olarak ve Kaç Kez Tetiklenebilir öğesini 1 olarak ayarla.
-
Oyuncu Doğma Karesi cihazını platformun üzerine yerleştir. Burası oyun başladığında oyuncunun doğacağı yerdir. Anahat Düzenleyicisinde Oyunda Görünür seçeneğini devre dışı bırak; böylece oyuncu, doğduktan sonra doğma karesinde duramaz. Tamamlanmış ayarlar şu şekilde görünmelidir:
Cihazı Oluşturma
Bu örnekte platformun oyuncu üzerine çıktığında kaybolmasını ve rastgele birkaç saniye sonra yeniden belirmesini sağlayan davranışı tanımlamak için bir Verse ile yazılmış cihaz kullanılmaktadır. Verse kullanarak bu cihazı oluşturmak için aşağıdaki adımları izle.
-
Verse Gezgini’ni kullanarak yeni bir Verse cihazı oluştur ve disappear_on_touch_platform olarak adlandır. Verse’te yeni bir cihazın nasıl oluşturulacağını öğrenmek için Verse Kullanarak Kendi Cihazını Oluşturma bölümüne bakabilirsin.
-
disappear_on_touch_platform cihazını İçerik Tarayıcı'dan bölümüne sürükle.
UEFN’de Cihaz Özelliklerini Düzenleme
Bu bölümde, editörde özelleştirebilmek için dört cihaz özelliğini UEFN'e nasıl açacağın gösteriliyor:
-
Bölüme yerleştirdiğin kreatif objeye yönelik bir cihaz referansı.
-
Oyuncu platforma dokunduğunda platformu gizlemeden önce ne kadar beklenmesi gerektiğini depolayacak
DisappearDelay
adlı bir kayan sabit. -
Platformu yeniden görünür hale getirmeden önce beklenecek minimum ve maksimum süreyi depolayacak
DelayMin
veDelayMax
adlı ikifloat
sabit. Bu iki değer, rastgele bir sayı alınırken izin verilen aralığı tanımlar.
Önceki kısımda oluşturduğun disappear_on_touch_platform cihazının bu özelliklerini açmak için aşağıdaki adımları izle.
-
Verse Gezgini’ni açıp disappear_on_touch_platform.verse’e çift tıkla; kod Visual Studio Code’da açılır.
-
Aşağıdaki alanları
disappear_on_touch_platform
sınıf tanımına ekle:-
DisappearDelay
adlı bir düzenlenebilirfloat
. Bu, oyuncu platforma dokunduktan sonra platformu gizlemeden önce ne kadar süre bekleneceğini belirtir. Bu değeri1.0
veya bir saniye olarak başlat.# Oyuncu platforma dokunduktan sonra platformu gizlemeden önce ne kadar süre bekleneceğini belirtir. @editable DisappearDelay:float = 1.0
-
DelayMin
adlı bir düzenlenebilirfloat
. Bu, platformu yeniden görünür hale getirmeden önce beklenecek minimum süreyi belirtir. Bunu3.0
veya üç saniye olarak başlat.# Platformu yeniden görünür hale getirmeden önce beklenecek minimum süreyi belirtir. @editable DelayMin:float = 3.0
-
DelayMax
adlı bir düzenlenebilirfloat
. Bu, platformu yeniden görünür hale getirmeden önce beklenecek maksimum süreyi belirtir. Bunu4.0
veya üç saniye olarak başlat.# Platformu yeniden görünür hale getirmeden önce beklenecek maksimum süreyi belirtir. @editable DelayMax:float = 4.0
-
DisappearingPlatform
adlı bir düzenlenebilircreative_prop
. Bu, periyodik olarak kaybolup görünecek olan bölüm içi platformu temsil eder. Yazdığın kod henüz bölümde bu objeye bir referans içermediğinden, bunu boş bir arketipcreative_prop{}
ile örneklendirirsin. Bu referansı daha sonra kayan platformuna atayabilirsin.# Bölümdeki platforma referans. @editable DisappearingPlatform:creative_prop = creative_prop{}
-
PlatformTrigger
adlı bir düzenlenebilirtrigger_device
. Bir oyuncunun platforma ne zaman indiğini öğrenmek için bu cihazdanTriggeredEvent
olayına ihtiyacın olacak.# Bir oyuncunun platforma indiğinde girdiği bölge. @editable PlatformTrigger:trigger_device = trigger_device{}
-
-
disappear_on_touch_platform
sınıf alanların şöyle görünmelidir:# Bir bölüme yerleştirilebilen, Verse ile yazılmış bir Kreatif cihazı disappear_on_touch_platform := class(creative_device): # Oyuncu platforma dokunduktan sonra platformu gizlemeden önce ne kadar süre bekleneceğini belirtir. @editable DisappearDelay:float = 1.0 # Platformu yeniden görünür hale getirmeden önce beklenecek minimum süreyi belirtir. @editable DelayMin:float = 3.0 # Platformu yeniden görünür hale getirmeden önce beklenecek maksimum süreyi belirtir. @editable DelayMax:float = 4.0 # Bölümdeki platforma referans. @editable DisappearingPlatform:creative_prop = creative_prop{} # Bir oyuncunun platforma indiğinde girdiği bölge. @editable PlatformTrigger:trigger_device = trigger_device{}
Kodlardan editöre
ToggleDelay
gibi değerleri göstermek için@editable
özniteliğini kullanmak yararlıdır. Bu, her seferinde Verse kodunu yeniden oluşturmak zorunda kalmadan UEFN'deki değerlerini özelleştirmeni sağlar, böylece hızlı bir şekilde yineleyebilir ve oyun deneyimine uyan değerleri bulabilirsin. -
Kodu Visual Studio Code içinde kaydet.
-
UEFN araç çubuğunda, bölümdeki disappear_on_touch_platform cihazını güncellemek için Verse'e tıklayıp ardından Verse Kodu Oluştur'a tıkla.
-
UEFN’deki Anahat Düzenleyici panelinde, cihazın Ayrıntılar panelini açmak için disappear_on_touch_platform cihazını seç.
-
Dokunmatik Platformda Kaybol’un altındaki Ayrıntılar panelinde, obje seçiciye tıklayarak ve görünüm penceresindeki platform cihazını seçerek Platform'u RecyclePlatform (bölüme eklediğin kreatif nesne) olarak ayarla.
-
Artık Verse cihazı tarafından referans verilen bir nesneye sahip olduğuna göre, her iki cihazı da seç ve oyuncunun birinden diğerine atlayabileceği bir dizi platform oluşturmak için bunları bölüm içinde birden çok kez çoğalt. Oluşturduğun her yeni Verse cihazı kendi platformuna referans vermelidir.
Platformu Gizleme ve Gösterme
Artık bölümü ve cihazları ayarladığına göre, bir oyuncu platforma indiğinde platformu gösterme ve gizleme işlevini ekleyebilirsin. Bu davranışı disappear_on_touch_platform
sınıfına eklemek için aşağıdaki adımları izle:
-
creative_prop
sınıfının görünürlüğünü açıp kapatmak için iki metot vardır:Hide()
veShow()
. Visual Studio Code'a geri dönerekOnBegin()
içindeHide()
ve ardındanDisappearingPlatform
daShow()
komutunu çağır.# Cihaz, çalışmakta olan bir oyunda başlatıldığında çalışır OnBegin<override>()<suspends>:void= # Platformu görünmez yap. DisappearingPlatform.Hide() # Platformu görünür yap. DisappearingPlatform.Show()
Bu kodu çalıştırdığında,
Hide()
veShow()
çağrıları birbirinin hemen ardından gerçekleştiği için platformun kaybolup yeniden belirdiği görülmez. -
Platformun görünür/görünmez durumda daha uzun kalması için,
Hide()
veyaShow()
çağrısı yaparkenSleep()
kullanarak bir gecikme ekleyebilirsin.Sleep()
fonksiyonu bir yordamın yürütülmesini askıya alır, burada fonksiyona birfloat
bağımsız değişkeni atayarak yürütmenin askıya alınacağı süreyi (saniye olarak) belirtebilirsin. HerHide()
veShow()
çağrısından önceSleep()
çağrısı yap ve daha önce tanımladığınDisappearDelay
değerini geçir.# Cihaz, çalışmakta olan bir oyunda başlatıldığında çalışır OnBegin<override>()<suspends>:void= # DisappearDelay saniyelerini bekle. Sleep(DisappearDelay) # Platformu görünmez yap. DisappearingPlatform.Hide() # DisappearDelay saniyelerini bekle. Sleep(DisappearDelay) # Platformu görünür yap. DisappearingPlatform.Show()
Bu kodu çalıştırırsan, oyunun geri kalanında platform görünür hale gelmeden önce bir saniye (
DisappearDelay
ile tanımlanan süre) boyunca görünmez olur.Sleep()
fonksiyonu sadece bir asenkron bağlamda çağrılabilir.OnBegin()
metodu,suspends
belirleyicisine sahip olduğu için zaten bir asenkron bağlam olduğundan, başka bir şey yapmana gerek yoktur.suspends
belirleyicisi hakkında daha fazla bilgi edinmek için Belirleyiciler ve Öznitelikler sayfasına bakabilirsin. -
Platformun tekrar belirme süresini değiştirmek, oyunu daha ilginç hale getirebilir.
Sleep()
fonksiyonuna her seferinde aynı değeri vermek yerine,GetRandomFloat()
fonksiyonuyla rastgele bir saniye sayısı elde edebilir ve bu değeriSleep()
fonksiyonuna iletebilirsin.-
GetRandomFloat()
fonksiyonunu kullanmak için dosyanın en üstüneusing { /Verse.org/Random }
ekle.using { /Fortnite.com/Devices } using { /Verse.org/Random } using { /Verse.org/Simulation } using { /UnrealEngine.com/Temporary/Diagnostics } # Verse cihazı oluşturma hakkında bilgi edinmek için bkz. https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse. # Bir bölüme yerleştirilebilen, Verse ile yazılmış bir Kreatif cihazı disappear_on_touch_platform := class(creative_device):
-
Platformun tekrar belirmesi için bekleme süresini belirlerken
GetRandomFloat()
işleviniSleep()
için bir argüman olarak kullan ve izin verilen saniye aralığınıDelayMin
veDelayMax
ile ayarla.# Cihaz, çalışmakta olan bir oyunda başlatıldığında çalışır OnBegin<override>()<suspends>:void= # DisappearDelay saniyelerini bekle. Sleep(DisappearDelay) # Platformu görünmez yap. DisappearingPlatform.Hide() # DelayMin ve DelayMax saniyeleri arasında bekle. Sleep(GetRandomFloat(DelayMin, DelayMax)) # Platformu görünür yap. DisappearingPlatform.Show()
Artık platform kaybolmadan önce
1.0
saniye bekleyecek ve ardından3.0
ile4.0
saniye arasında yeniden görünecektir. -
Oyuncunun Platforma Çıktığını Algılama
Oyuncunun platforma ne zaman çıktığını algılamak için trigger_device
sınıfının ortaya çıkardığı TriggeredEvent
olayına bağlayabilirsin. Tetikleyici sadece bir oyuncu üzerinden geçtiğinde TriggeredEvent
gönderir. Kaç Kez Tetiklenebilir öğesini bir olarak ayarladığından, tetikleyicinin durumunu sıfırlamak ve TriggeredEvent
i tekrar göndermesine izin vermek için tetikleyicide Reset()
i çağırman gerekir.
Oyuncu platforma dokunduğunda bunu algılamak için aşağıdaki adımları izle ve platformun gizlenip yeniden belirme yanıtını vermesi için önceki bölümde yazdığın kodu kullan.
-
TriggeredEvent
, parametre olarak isteğe bağlıplayer
ve dönüş türü olarakvoid
içeren bir fonksiyon imzası gerektirir. Tetikleyici cihazları kod aracılığıyla da etkinleştirebildiğin için bu fonksiyonda aracı isteğe bağlıdır, bu nedenle onu etkinleştirenin bir oyuncu olup olmadığını kontrol etmen gerekir.disappear_on_touch_platform
sınıfınaOnPlayerTouch()
adlı yeni bir metot ekle.OnPlayerTouch(ActivatingPlayer:?agent):void=
-
OnPlayerTouch()
fonksiyonunda, birif
ifadesinde, oyuncuyuActivatingPlayer
seçeneğinden almaya çalış. Bu çağrı başarılı olursa, tetikleyiciyi kod yerine bir oyuncunun etkinleştirdiğini bilebilirsin.OnPlayerTouch(ActivatingPlayer:?agent):void= if: Player := ActivatingPlayer? then: Print("Bir oyuncu bir platforma dokundu!")
-
OnBegin()
fonksiyonunda, olay işleyicisi olarakOnPlayerTouch
öğesini kullanarakPlatformTrigger.TriggeredEvent
e bağlan. Artık bir oyuncu bir platforma her indiğinde,TriggeredEvent
etkinleştirilir veOnPlayerTouch()
çalışır.OnBegin<override>()<suspends>:void= # Bir oyuncunun platforma ne zaman indiğini öğrenmek için # PlatformTrigger'ın TriggeredEvent'ine bağlan. PlatformTrigger.TriggeredEvent.Subscribe(OnPlayerTouch)
-
Platform gizlendiğinde, platformun içinden geçmeleri gerektiği için oyuncular tetikleyiciyi etkinleştirememelidir. Bunu yapmak için,
OnBegin()
içinde,Hide()
veShow()
fonksiyonlarından sonra sırasıylaPlatformTrigger.Disable()
veEnable()
fonksiyonlarına çağrılar eklemelisin. Artık platformun gizliyken tetikleyicin etkileşime açık olmayacaktır.OnBegin<override>()<suspends>:void= # Bir oyuncunun platforma ne zaman indiğini öğrenmek için # PlatformTrigger'ın TriggeredEvent'ine bağlan. PlatformTrigger.TriggeredEvent.Subscribe(OnPlayerTouch) # DisappearDelay saniyelerini bekle. Sleep(DisappearDelay) # Platformu gizle ve tetikleyiciyi devre dışı bırak. DisappearingPlatform.Hide() PlatformTrigger.Disable() # DelayMin ve DelayMax saniyeleri arasında bekle. Sleep(GetRandomFloat(DelayMin, DelayMax)) # Platformu göster ve tetikleyiciyi etkinleştir. DisappearingPlatform.Show() PlatformTrigger.Enable()
Bir oyuncu üzerine geldiğinde platformu gizlemen gerekse de, platformu gizleme ve göstermeyi sağlayan kodu OnPlayerTouch()
metoduna doğrudan ekleyemezsin. Sleep()
fonksiyonu sadece asenkron bağlamda çağrılabilir ve TriggeredEvent
olay işleyicisi olarak asenkron fonksiyonlara izin vermediği için OnPlayerTouch()
fonksiyonuna suspends
belirtecini ekleyemezsin. Bunun yerine, OnPlayerTouch()
fonksiyonundan asenkron bir fonksiyonu çağırmak için spawn
ifadesini kullanabilirsin. Asenkron fonksiyonunu eklemek için aşağıdaki adımları izle.
-
disappear_on_touch_platform
sınıf tanımınaRecyclePlatform()
adlı yeni bir metod ekle. Bu kodun asenkron olarak çalışmasına izin vermek için<suspends>
değiştiricisini ekle, platformu ve tetikleyiciyi gizlemeyi ve göstermeyi sağlayan koduOnBegin
kod bloğundanRecyclePlatform()
kod bloğuna taşı.# Platformu gizle ve PlatformTrigger'ı sıfırla. Ardından rastgele bir süre bekle ve platformu tekrar etkinleştir. RecyclePlatform()<suspends> : void = # DisappearDelay saniyelerini bekle. Sleep(DisappearDelay) # Platformu gizle ve tetikleyiciyi devre dışı bırak. DisappearingPlatform.Hide() PlatformTrigger.Disable() # DelayMin ve DelayMax saniyeleri arasında bekle. Sleep(GetRandomFloat(DelayMin, DelayMax)) # Platformu göster ve tetikleyiciyi etkinleştir. DisappearingPlatform.Show() PlatformTrigger.Enable()
-
OnPlayerTouch()
içinde, kodu asenkron olarak çalıştırmak içinRecyclePlatform()
üzerindespawn{}
komutunu çağır. TamamlanmışRecyclePlatform()
fonksiyonun şu şekilde görünmelidir:# Bir oyuncu platforma indiğinde çalışır. Platformu gizlemek için RecyclePlatform()’u çağırır. # ve tetikleyici durumunu sıfırlar. OnPlayerTouch(ActivatingPlayer:?agent):void= if: Player := ActivatingPlayer? then: Print("Bir oyuncu bir platforma dokundu!") spawn{ RecyclePlatform() }
Bu kodu çalıştırdığında platform kaybolur ve ardından oyuncu platforma ilk çıktığında yeniden görünür.
Asenkron, bir kod parçasının tamamlanmasının bir miktar zaman alabileceğini ifade eder. Burada, örneğin, platformun geri dönüşmesi tüm
Sleep()
çağrıları nedeniyle birkaç saniye alır. Asenkron işlevler, asenkron işlevi çağıran kodun yürütülmesini engellemeden işlemleri gerçekleştirmene olanak sağlar. Asenkron bağlamlar vespawn
ifadesi hakkında daha fazla bilgi edinmek için Eşzamanlılık sayfasına bakabilirsin. -
Şu anda,
TriggeredEvent
yalnızca oyuncu platforma ilk kez çıktığında tetiklenir. Olayı tekrar tetiklenebilir hale getirmek için tetikleyiciyi sıfırla fonksiyonunu çağırabilirsin.RecyclePlatform()
içinde,Enable()
fonksiyonunu çağırdıktan sonraPlatformTrigger
üzerindeReset()
fonksiyonunu çağır.# Platformu gizle ve PlatformTrigger'ı sıfırla. Ardından rastgele bir süre bekle ve platformu tekrar etkinleştir. RecyclePlatform()<suspends> : void = # DisappearDelay saniyelerini bekle. Sleep(DisappearDelay) # Platformu gizle ve tetikleyiciyi devre dışı bırak. DisappearingPlatform.Hide() PlatformTrigger.Disable() # DelayMin ve DelayMax saniyeleri arasında bekle. Sleep(GetRandomFloat(DelayMin, DelayMax)) # Platformu göster ve tetikleyiciyi etkinleştir. DisappearingPlatform.Show() PlatformTrigger.Enable() # PlatformTrigger'ın kaç kez tetiklenebileceğini sıfırla. PlatformTrigger.Reset()
-
Kodu kaydet ve Verse'e tıklayıp ardından kodu derlemek için Verse Kodu Oluştur'a tıkla.
-
Bölümün oynanış testini yapmak için UEFN araç çubuğunda Oturumu Başlata tıkla.
-
Şimdi bölümünün oynanış testini yaptığında, her platforma çıktığında platform kaybolmalı ve rastgele birkaç saniye sonra tekrar görünmelidir.
Tam Kod
Aşağıda, bir platformun oyuncu platforma çıktığında kaybolmasını ve rastgele birkaç saniye sonra yeniden ortaya çıkmasını sağlayacak tam kod verilmektedir.
using { /Fortnite.com/Devices }
using { /Verse.org/Random }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
# Verse cihazı oluşturma hakkında bilgi edinmek için bkz. https://dev.epicgames.com/documentation/en-us/uefn/create-your-own-device-in-verse.
# Bir bölüme yerleştirilebilen, Verse ile yazılmış bir Kreatif cihazı
disappear_on_touch_platform := class(creative_device):
# Oyuncu platforma dokunduktan sonra platformu gizlemeden önce ne kadar süre bekleneceğini belirtir.
@editable
DisappearDelay:float = 1.0
# Platformu yeniden görünür hale getirmeden önce beklenecek minimum süreyi belirtir.
@editable
DelayMin:float = 3.0
# Platformu yeniden görünür hale getirmeden önce beklenecek maksimum süreyi belirtir.
@editable
DelayMax:float = 4.0
# Bölümdeki platforma referans.
@editable
DisappearingPlatform:creative_prop = creative_prop{}
# Bir oyuncunun platforma indiğinde girdiği bölge.
@editable
PlatformTrigger:trigger_device = trigger_device{}
# Cihaz, çalışmakta olan bir oyunda başlatıldığında çalışır
OnBegin<override>()<suspends>:void=
# Bir oyuncunun platforma ne zaman indiğini öğrenmek için
# PlatformTrigger'ın TriggeredEvent'ine bağlan.
PlatformTrigger.TriggeredEvent.Subscribe(OnPlayerTouch)
# Bir oyuncu platforma indiğinde çalışır. Platformu gizlemek için RecyclePlatform()’u çağırır.
# ve tetikleyici durumunu sıfırlar.
OnPlayerTouch(ActivatingPlayer:?agent):void=
if:
Player := ActivatingPlayer?
then:
Print("Bir oyuncu bir platforma dokundu!")
spawn{ RecyclePlatform() }
# Platformu gizle ve PlatformTrigger'ı sıfırla. Ardından rastgele bir süre bekle ve platformu tekrar etkinleştir.
RecyclePlatform()<suspends> : void =
# DisappearDelay saniyelerini bekle.
Sleep(DisappearDelay)
# Platformu gizle ve tetikleyiciyi devre dışı bırak.
DisappearingPlatform.Hide()
PlatformTrigger.Disable()
# DelayMin ve DelayMax saniyeleri arasında bekle.
Sleep(GetRandomFloat(DelayMin, DelayMax))
# Platformu göster ve tetikleyiciyi etkinleştir.
DisappearingPlatform.Show()
PlatformTrigger.Enable()
# PlatformTrigger'ın kaç kez tetiklenebileceğini sıfırla.
PlatformTrigger.Reset()
Kendi Kendine Yapabileceklerin
Bu eğitimi tamamlayarak, bir platformun oyuncu üzerine çıktığında kaybolup rastgele sayıda saniye sonra tekrar belirmesini sağlayan bir cihazı Verse kullanarak nasıl yapacağını öğrenmiş oldun.
Öğrendiklerini kullanarak aşağıdaki işlemleri yapmaya çalış:
-
İlgi çekici bir zorluk yaratmak için platformların boyutunu ve konumunu değiştirerek denemeler yap.
-
Bu örnekte oyuncu herhangi bir puan kazanmıyor ve düştüğünde hiçbir şey olmuyor. Burada nasıl bir puanlama sistemi ve kaybetme koşulu uygulayabilirdin?