Fab Mağazası

Gate (Yürütme Kapısı)

Blueprint yürütme akışını açıp kapatabilen, bir tür vana gibi çalışan standart akış kontrol makrosudur. Kapı açık (Open) olduğunda Enter pininden gelen akışlar Exit çıkışına aktarılır; kapı kapalı (Closed) olduğunda akış tamamen bloke edilir.

Kategori: Flow Control Zorluk: Başlangıç C++ / Makro: StandardMacros::Gate

YouTube Video Dersi (#06)

İnteraktif Blueprint Grafiği & Kopyalanabilir Kod

Aşağıdaki interaktif alandaki "Copy Nodes" butonu ile grafiği kopyalayabilir ve Unreal Engine 5 editöründe Blueprint grafiğine Ctrl+V ile doğrudan yapıştırabilirsiniz:

Giriş ve Çıkış Pinleri

Pin Adı Yön Veri Tipi Varsayılan Açıklama
Enter Giriş Exec (Beyaz) - Ana yürütme girişi. Kapı açık ise bu sinyal doğrudan Exit çıkışına geçer; kapalıysa sinyal yutulur.
Open Giriş Exec (Beyaz) - Kapıyı Açık durumuna getirir. Exit çıkışını tetiklemez, sadece durumu değiştirir.
Close Giriş Exec (Beyaz) - Kapıyı Kapalı durumuna getirir. Exit çıkışını tetiklemez.
Toggle Giriş Exec (Beyaz) - Kapının durumunu tersine çevirir (Açıksa Kapatır, Kapalıysa Açar).
Start Closed Giriş Boolean (Kırmızı) True İşaretliyse (True), kapı başlangıçta kapalı başlar. Açık başlaması istenirse False yapılır.
Exit Çıkış Exec (Beyaz) - Kapı Açık durumdayken Enter pinine sinyal geldiğinde çalışan çıkış akışı.

Önemli Kavramlar & Mantık

  • Durumun Hafızada Tutulması (Persistence): Gate, Actor yaşadığı sürece açık/kapalı durumunu saklar. Yeniden tetikleme yapılana kadar durum değişmez.
  • Kontrol vs. Veri Akışı: Open, Close ve Toggle pinleri asla Exit çıkışını doğrudan çalıştırmaz. Yalnızca kapının iç anahtarını çevirirler.
  • Sürekli Tetikleme ile Kullanım: Genellikle Event Tick veya döngüsel bir Timer ile birlikte kullanılarak belirli bir şart sağlanana kadar akışın akması veya durdurulması sağlanır.

Pratik Kullanım Senaryoları

1. Klavye Tuşlarıyla Akış Kapısı Kontrolü (Ders Örneği)

Actor içerisinde klavye girişlerini dinleyebilmek için Event BeginPlay → Enable Input (Get Player Controller 0) bağlantısı kurulur:

  • E Tuşu (Enter): Ekrana "Girildi." yazdırarak Gate'in Enter pinini tetikler. Kapı açıksa akış Exit çıkışından geçer ve "Geçiş gerçekleştir." yazdırılır; kapalıysa geçiş engellenir.
  • O Tuşu (Open): Ekrana "Açıldı." yazdırarak kapıyı açar.
  • C Tuşu (Close): Ekrana "Kapatıldı." yazdırarak kapıyı kapatır.
  • T Tuşu (Toggle): Ekrana "Değiştirildi." yazdırarak kapı durumunu tersine çevirir (açıksa kapatır, kapalıysa açar).

2. Tuşa Basılı Tutulduğu Sürece Gerçekleşen Eylemler

Bir Input Action'ın Pressed çıkışı Open pinine, Released çıkışı Close pinine bağlanır. Event Tick ise Enter pinine bağlanır. Bu sayede tuşa basılı tutulduğu her kare Exit çalışır, tuş bırakıldığında akış anında kesilir (örn. şarjlı vuruş, koşma veya enerji kalkanı).

3. Faz ve Aşama Bazlı Bölüm Akışları

Bir boss savaşı veya bulmaca başladığında Gate açılır, aşama tamamlandığında Gate kapatılır. Bölüm içi düşman doğma veya tuzak kontrolü sadece bu pencere açıkken devreye girer.

Sık Yapılan Hatalar & İpuçları

  • Start Closed Değerini Unutmak: Gate varsayılan olarak kapalı (Start Closed = True) gelir. Eğer oyun başladığında hemen çalışması gerekiyorsa bu kutuyu kaldırın veya BeginPlay'de Open pinini tetikleyin.
  • Open/Close Pinlerinden Sonra Kod Bağlamak: Unutmayın, Open veya Close pinine sinyal verdiğinizde Exit çıkışından akış akmaz. Yalnızca Enter'a gelen sinyaller Exit'e iletilir.
  • Tick Performansı: Enter pinine Event Tick bağlıysa ve kapı kapalı olsa bile Tick her kare Gate'e vurur. Eğer uzun süre kapalı kalacak bir mekanizmanız varsa Gate yerine bir Timer başlatıp durdurmak performans açısından daha verimli olabilir.
ESC