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.
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 Tickveya döngüsel birTimerile 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
Enterpinini 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.