‫Hey, tekrar hoş geldin.
‫Bu videoda, oyunun başladığını bize bildirmek için ekranda metin gösterme üzerinde çalışacağız.
‫Ve bu, oyuncuya oyunun henüz tam olarak başlamadığını, ancak yakında başlayacağını bildirmek için
‫geri sayım sayacını göstermenin ilk adımıdır.
‫Şimdi, bu blueprint uygulanabilir olayları içerecek.
‫Blueprint Implementable Event, C++'dan çağırabileceğimiz bir C++ işlevidir, ancak aslında işlevselliği
‫blueprint tarafında uygularız.
‫Dolayısıyla, oyun modu gibi C++ sınıfımız olabilir ve blueprint, uygulanabilir olay olarak işaretlenmiş bir
‫işleve sahip olabiliriz ve ardından bu davranışı blueprint'lerde uygulayabiliriz.
‫Dolayısıyla, blueprint uygulanabilir olayı olarak işaretlenen C++ işlevini çağırdığımızda, blueprint'teki olay
‫ateşlenecektir.
‫Ve blueprint'te bu olaya bağladığımız herhangi bir blueprint mantığı çağrılacaktır.
‫Bu yüzden burada tune tanklarında bir blueprint uygulanabilir olay fonksiyonu oluşturacağım, oyun modları ve blueprint
‫uygulanabilir olaylar özel olamaz.
‫Bu yüzden bunu korumalı bölüme ekleyeceğim.
‫Şimdi bunu bir void fonksiyon yapacağım ve basitçe bu start game'i çağıracağım.
‫Şimdi, bunu blueprint uygulanabilir bir olay haline getirmek için, U fonksiyonu ile bir U fonksiyonu makrosu vermem
‫gerekiyor.
‫Blueprint uygulanabilir olayını belirtin.
‫Şimdi, bu blueprint uygulanabilir olayını işaretlediğimizde, C++'da ona bir fonksiyon gövdesi vermemiz
‫bile gerekmez.
‫Unreal Engine bunun için işlevselliği planlarda uygulamamızı bekleyecektir, ancak bunu C++'dan
‫çağırabiliriz ve burada Handle Game Start'ta yapacağımız şey tam olarak budur.
‫Tank ve oyuncu denetleyici değişkenlerini ayarladıktan hemen sonra oyunu başlat diyeceğim ve şimdi
‫bunu derleyebiliriz.
‫Düzenleyiciye geri dönerek BP tune tanks oyun modunu açacağım ve burada işlevi
‫uygulayabiliriz.
‫Yani sağ tıklayıp start game yazarsak, işte fonksiyonu bildirir bildirmez oluşturulan ve blueprint
‫uygulanabilir olayı ile fonksiyon makrosunu verdiğimiz start game olayı.
‫Yani C++ tarafında bunu çağırıyoruz ve planlarda bu olay buna yanıt veriyor.
‫Bunu basit bir print string düğümü ile test edebiliriz ve string için Start game diyebiliriz.
‫Şimdi oynat tuşuna basarsak, sol üstte oyuna başla yazısını göreceğim.
‫Böylece planımızın uygulanabilir olayının çalıştığını biliyoruz.
‫Şimdi, bu olayın yapmasını istediğimiz şey, oyuncuya oyunun başlamak üzere olduğunu bildiren bir metin içeren bir widget göstermektir,
‫bu da gösterilecek bir widget oluşturmamız gerektiği anlamına gelir.
‫Bu yüzden blueprints klasöründe yeni bir klasör oluşturacağım ve buna widget adını vereceğim ve widget'lara
‫çift tıklayacağım.
‫Ve burada yeni bir widget planı oluşturacağım.
‫Şimdi sağ tıklayıp kullanıcı arayüzüne gidersem, işte Widget Blueprint.
‫Şimdi buna tıklarsam, yeni bir widget blueprint'i oluşturacağım ve buna Widget Blueprint
‫için W BP adını vereceğim, alt çizgi start game widget.
‫Buna çift tıklarsam, Widget Blueprint editörünü açacağım ve görmeye alıştığımız
‫Blueprint editöründen biraz farklı göründüğünü göreceksiniz.
‫Bunun nedeni de bunun bir widget için olması.
‫Widget'lar ekranda metin gibi şeyleri görüntülemek için iyidir.
‫Şimdi burada çok şey var ve biz sadece metin gösteren çok basit bir widget yapacağız.
‫Bir widget planına ekleyebileceğimiz kenarlıklar, düğmeler, onay kutuları, resimler
‫vb. gibi bir dizi farklı öğe türü vardır.
‫Ancak bizim ilgilendiğimiz, tam burada Metin yazan kısım.
‫Şimdi hiyerarşi panelinde aşağıya bakın, en üstte genel WB oyun başlatma widget'ımız olduğunu göreceksiniz.
‫Ve eğer buna tıklarsak, bu widget'ın özelliklerini değiştirebiliriz.
‫Şimdi widget öğelerini bu hiyerarşiye sürükleyebiliriz.
‫Bu yüzden palette tuval panelini arayacağım ve bunu hiyerarşime sürükleyeceğim.
‫Artık bir tuval paneli, widget öğelerini yerleştirmemize ve bunları ekranda istediğimiz bir konuma ayarlamamıza olanak tanıyor, böylece
‫bir metin öğesini doğrudan grafiğin üzerine sürükleyebiliyoruz.
‫Ve hiyerarşide tuval panelinin altında bu yeni öğeyi göreceksiniz.
‫Ve diyor ki, Metin.
‫Metin bloğu.
‫Şimdi, tırnak içindeki bu metin bloğu, bu metin widget'ı için otomatik olarak ayarlanan metindir.
‫Ve burada, ayrıntılar panelinde, bu metin widget'ı içerik altında seçiliyken, bir metin özelliği görüyoruz
‫ve metin bloğu olarak ayarlanmış.
‫Ancak bunu hazır ol gibi istediğimiz herhangi bir metne ayarlayabiliriz.
‫Şimdi, bunu hazır olmak için ayarladıktan sonra, ekrandaki metinde Hazır ol yazdığını göreceksiniz.
‫Widget Blueprint editörü, widget'larımızı özelleştirmemize olanak tanır. Ekranın sol üst köşesindeki
‫madalyona dikkat edin, buna çapa denir.
‫Metin widget'ımız anchor'a göre ekrana yerleştirilir.
‫Dolayısıyla, ekran boyutu değişirse, bu çapaya olan mesafe sabit kalacaktır.
‫Ve eğer istersek çapayı değiştirebiliriz.
‫Örneğin, ayrıntılar paneline gidip yuvanın altında çapaları görerek metin widget'ımızı
‫ekranın ortasındaki bir çapaya göre ayarlayabiliriz.
‫Ve açılır menüye tıklarsam, ortasında bir kare olan bu simgeyi seçebilirim.
‫Şimdi bunu seçersem, çapa ekranın ortasında olur ve widget'ımın tamamen ortalanmasını istersem,
‫burada yuva kategorisi altında X ve Y konumunu değiştirebilirim, böylece bunu X konumu için sıfıra ve Y konumu için sıfıra
‫ayarlayabilirim ve yakınlaştırmak için fare tekerleğimle kaydırdığımda, ekranın ortasında olduğu gibi sol üst
‫köşede olduğunu göreceksiniz.
‫Şimdi buradaki hizalama alanı, 0 değerini seçerek bunu mükemmel bir şekilde ortalamamızı sağlayabilir. 54 X ve 0. 54 Y, ve şimdi ekranın ortasında
‫tamamen ortalanmış durumda.
‫Şimdi bir başlangıç oyunu widget'ı için, muhtemelen bu metni biraz daha yukarı koymak uygun olacaktır.
‫Y Konumu için, bunu tıklayıp sola sürükleyebilirim, bu da widget plan düzenleyicisinde y ekseninin aşağı
‫doğru işaret ettiği Y konumu değerini negatif yapar.
‫Dolayısıyla, metin widget'ımızı yukarı kaldırmak istiyorsak, y konumunu daha düşük bir değer haline getireceğiz.
‫Buraya -300 civarına yerleştireceğim.
‫Şimdi görünüm kategorisinde, bu metin için bir dizi özelliği değiştirebilirim.
‫Yazı tipi için açılır menüye tıklarsam, yazı tipi boyutunu 42 gibi bir değerle değiştirebilirim.
‫Şimdi kalın yerine yazı karakteri için.
‫Normal yazı karakterini seviyorum.
‫Sanırım şimdi biraz daha iyi görünüyor.
‫Metin widget'ı metnimizin buradaki yeşil dikdörtgenden daha büyük olduğuna dikkat edin, ancak bu yeşil dikdörtgeni yeniden boyutlandırabiliriz.
‫Dikdörtgeni değiştirirken, burada ayrıntılar panelinde X boyutunun ve y boyutunun değiştiğini göreceksiniz.
‫Şimdi, değiştirdiğimden beri X konumunun biraz hareket ettiğine dikkat edin.
‫Sıfıra geri koyabilirim ve x için hizalama 0 olduğundan. 5, mükemmel bir şekilde ortalanmış.
‫Şimdi hazır olun yazan bir widget'ım var.
‫Geriye kalan tek şey, ekranda görebilmemiz için bunu görüntü alanına eklemektir.
‫Play tuşuna basıp oyunu oynamaya başladığımda ekranda o widget'ı görmediğimi fark edeceksiniz.
‫Çünkü bunu ekrana aktif olarak eklememiz gerekiyor ve bu yüzden oyun modunda bu blueprint
‫uygulanabilir olayını yarattık, böylece bu widget'ı ekrana ekleyebiliyoruz.
‫Şimdi bunu nasıl yapacağımızı konuşalım.
‫Şimdi.
‫Planlardan bir widget oluşturmanın yolu, bir widget oluşturma düğümü kullanmaktır.
‫Herhangi bir plan için olay grafiğine sağ tıklayıp bir düğümün adını yazmaya başlayabilir ve ardından söz
‫konusu düğümü seçebilirsiniz.
‫İhtiyacımız olan düğüm create widget.
‫Şimdi Serinlik Widget'ı Oluştur yazdığını göreceksiniz.
‫Bunun nedeni, Widget Oluştur düğümünü ekler eklemez, sınıf açılır menüsünden Widget Blueprint
‫sınıfını seçmiş olmamdır.
‫Bu, Unreal Engine'in hangi widget sınıfını oluşturacağını bilmesi için gereklidir.
‫Şimdi, bir widget oluşturma düğümü kullandıktan sonra, bu widget'ı görünüm alanına eklemek için bir görünüm alanına
‫ekle düğümü kullanıyoruz ve ardından bunu oyunda ekranda görebiliyoruz.
‫Yürütme kablolarının bağlı olduğuna ve ayrıca create widget düğümünün bu mavi çıktıyı döndürdüğüne dikkat edin;
‫add to viewport'un viewport'a hangi widget'ın ekleneceğini bilmesi gerektiğinden ve create widget
‫düğümü bu widget'ın değerini döndürdüğünden, add to viewport'taki hedef girişe bağlanmalıdır.
‫Artık blueprint'lerde nasıl widget oluşturacağınızı bildiğinize göre, BP tune tanks oyun modu sınıfına
‫girecek ve bir widget oluşturma düğümü kullanacaksınız.
‫Bunu blueprint uygulanabilir olay yürütme kablosundan bağlayacaksınız.
‫Oyuna Başla dedik.
‫Şimdi Widget Oluştur düğümünde, oluşturulacak widget sınıfını seçmemiz gerekiyor, bu nedenle WB başlangıç oyunu widget'ını,
‫yeni oluşturduğumuz yeni widget planını seçin ve ardından bu yeni widget'ı görüntü alanına eklemek ve yürütme kablolarını
‫bağlamak için görüntü alanına ekle düğümünü kullanın.
‫Widget oluşturmanın geri dönüş değerini görüntü alanına ekle'deki hedef girdiye bağlamayı unutmayın.
‫Bu yüzden videoyu duraklatın ve bu düğümleri ayar tankının oyun modu planına şimdi ekleyin.
‫Burada Tune Tanks Oyun Modu Blueprint'indeyim ve sağ tıklayıp widget oluştur yazacağım ve
‫Widget Düğümü Oluştur'u seçeceğim.
‫Şimdi Construct None yazdığına dikkat edin.
‫Bunun nedeni, sınıf açılır menüsünde uygun widget sınıfını seçene kadar bunu söyleyecek olmasıdır.
‫Ancak bunu yapmadan önce, etkinlik başlangıç oyunundan yürütme kablosunu bağlayacağım.
‫Böylece, blueprint uygulanabilir olay başlatma oyunumuz C++'dan çağrılır çağrılmaz bu işlevselliğin
‫yürütülmesini sağlarız.
‫Şimdi sınıf açılır menüsü için WP Start Game Widget'ı seçeceğim ve şimdi Node'un başlığı Create
‫WP Start Game Widget Widget olarak değişecek.
‫Şimdi bunun bir widget oluşturma düğümü olduğunu görebiliriz.
‫Şimdi yürütme teline tıklayıp dışarı sürükleyeceğim ve ardından görüntü alanına ekle yazacağım.
‫Ve sonra görüntü alanına ekle'yi seçersem, yürütme kabloları benim için otomatik olarak bağlanır,
‫ancak widget oluşturmadan dönen değeri görüntü alanına ekle için hedef girişe bağlamaz.
‫Bu yüzden bunu kendim tıklayıp sürüklemem gerekiyor.
‫Şimdi Start Game C++ ve oyun modu sınıfından çağrıldığında, WP Start Game widget'ına dayalı yeni
‫bir widget oluşturacak olan bu blueprint mantığını yürüteceğiz ve ardından bunu görüntü alanına ekleyeceğiz.
‫Oynat'a tıklayacağım ve işte Get Ready widget'ı.
‫Şimdi bunun bir geri sayım sayacı göstereceğinden bahsettik, ancak bu işlevi henüz uygulamadık,
‫bu yüzden yakında gelecek.
‫Özetle, Start Game Widget Blueprint'i oluşturduk ve şimdilik üzerinde sadece Get ready yazan bir
‫metin var.
‫Ayrıca bu widget'ı görüntü alanına eklemek için bir create widget düğümü ve bir add to viewport düğümü kullandık, böylece
‫oyun başlar başlamaz onu görebileceğiz.
‫Ve bu işlevi, oyun modu C++ sınıfında oluşturduğumuz Oyuna Başla adlı blueprint uygulanabilir olayımızı
‫kullanarak başlattık. Gelecek videolarda, bu widget'taki metni çalışma zamanında değiştireceğiz, böylece
‫oyuna başlama zamanlayıcısında ne kadar süre kaldığını gösterecek, böylece oyuncu oyunu gerçekten oynamaya
‫başlamadan önce ne kadar beklemesi gerektiğini bilecek.
‫Yakında görüşürüz.