Tüm cihazları yerleştirdiğine göre şimdi sıra cihazların nasıl etkileşimde bulunacaklarını ayarlamada.
Doğrudan olay bağlama, cihazların olayları ve fonksiyonları kullanarak birbirleriyle doğrudan konuşmasına olanak sağlar. Daha fazla bilgiyi burada bulabilirsin.
Cihaz A | İşlev | Cihaz B | Olay | Açıklama |
---|---|---|---|---|
İçi Boş Bariyer 1 ve 2 ![]() |
Devre Dışı Bırak | Süreölçer ![]() |
Başarılı Olduğunda | Süreölçer bittiğinde bariyerler ortadan kalkar. |
Opak Bariyer ![]() |
Devre Dışı Bırak | Süreölçer ![]() |
Başarılı Olduğunda | Süreölçer bittiğinde bariyer ortadan kalkar. |
Olay bağlama ayarlandıktan sonra aşağıdaki ekran görüntüsündeki gibi görünecektir:

Verse ile Doğrudan Olay Bağlama
Alternatif olarak, cihaz mantığını Verse kullanarak da programlayabilirsin.
Bunun ilk adımı, Verse kullanarak kendi cihazını oluşturmaktır. Daha fazla bilgi için Verse’te Kod Yazmanın Temellerini Öğren kılavuzunu inceleyebilir, ardından öğrendiğin kavramları uygulamak için buraya geri dönebilirsin.
Şimdi kodunda Verse ile kontrol edeceğin cihazlara referans vermen gerekiyor.
3 adet barrier_device
ve 1 adet timer_device
gerekli olacak:
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{}
Kodunu derle ve box_fight_manager
öğesini bölüme sürükle, ardından karşılık gelen cihazları seç:

Bu örnekte Timer
, oyun başladığında kendiliğinden başlamalıdır. Ayarlanan süre geçtikten sonra Timer
başarılı olur ve bariyerler devre dışı bırakılır.
Şimdi de oyun başladığında Timer
için SuccessEvent
olayına abone olalım:
OnBegin<override>()<suspends>:void=
Timer.SuccessEvent.Subscribe(DropBarriers)
DropBarriers
çağrılır ve üç bariyer devre dışı bırakılır:
DropBarriers(Player:?agent):void=
Barrier1.Disable()
Barrier2.Disable()
MidBarrier.Disable()
Burada SuccessEvent
olayının agent
bağımsız değişkeni alan bir işlevi çağırması beklenir.
Kodunu derle, işte bu kadar! Artık adanın oynanış testini yapmaya hazırsın.
Referans amacıyla kodun tamamı aşağıda:
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()
Adanın Oynanış Testini Yapmak
Başardın!
Her şey ayarlanıp kullanıma hazır olduğuna göre artık Fortnite’ta beklediğin gibi çalıştığından emin olmak için adanın oynanış testini yap.
Projeni Yayınlamak için Proje Yayınlamak sayfasını incele.