‫Merhaba ve hoş geldiniz.
‫Bu derste, Blueprint'te C++'ımızdan nasıl yeni düğümler oluşturabileceğimize bakacağız,
‫böylece aslında Blueprint içinden C++ işlevselliğini çağırabiliriz.
‫Hadi içeri dalalım ve nasıl yapıldığını görelim.
‫Şimdi, blueprint düğümlerini çağırmak için blueprint'leri kullanabilirim, ancak aslında yakalayıcımızı buradaki blueprint
‫parçasından etkinleştirmek istiyorum, bazı dizeleri yazdırmak değil.
‫Peki bunu nasıl yapacağım?
‫Neyse ki, bir C++ sınıfındaki bir işlevi blueprint'e kolayca ekleyebiliyoruz.
‫Bunu yapma şeklimiz ise şu şekildedir.
‫Şimdi gidip yeni bir genel fonksiyon oluşturacağız.
‫Bu yüzden tik bileşeninin hemen altındaki genel bölümüme gideceğim.
‫Ve burada geri dönüş tipi void olan release adında yeni bir fonksiyon oluşturacağım.
‫Bu yüzden daha sonra grab yapacağız, ancak şimdilik sadece bir release fonksiyonu çağıracağız.
‫Bunu Blueprint'te nasıl kullanılabilir hale getirebilirim?
‫Bunu bir U fonksiyonu yapmam gerekiyor.
‫Yani değişkenler için özellikleriniz var.
‫İşleviniz, bir işlevi temelde plan ülkesinde görünür kılmaya eşdeğerdir.
‫Ancak tıpkı yeni mülkte olduğu gibi burada da durmuyoruz.
‫Burada u fonksiyonu ile herhangi bir yerde düzenleme yapmalıyız, blueprint çağrılabilir hale getirmeliyiz ve bu, adından da anlaşılacağı
‫gibi, bu fonksiyonun artık blueprint'in erişebileceği bir düğüm haline geldiği anlamına gelir.
‫Şimdi bir CP alalım ve bunun için bir uygulama oluşturalım.
‫Dönüş tipi void olacak.
‫Bu bir U olacak.
‫Yakalayıcı, kolon, kolon serbest bırakma, parametre yok.
‫Ve bir fonksiyon gövdesi koyacağız, içine bir u logu yapıştıracağım ve mesajı vereceğim,
‫bu şekilde serbest bırakılacak ve sonra derleyebiliriz ve bip sesimizi geri alabiliriz.
‫Oyuncu print string düğümünü sileceğim ve burada release'i sürükleyeceğim
‫ve burada release'i bir fonksiyon olarak arayacağım.
‫Şimdi gidip etrafa biraz göz atalım.
‫Şu anda hiçbir şey görünmüyor çünkü bunu grabber üzerinde yapmam gerekiyor.
‫Şimdi grabber bileşenini alalım, bir grabber değişkeni oluşturmak için onu olay grafiğine sürükleyelim, sonra
‫bundan sürükleyelim ve release'i arayalım.
‫Şimdi, bu davada da hiçbir şey çıkmadığını fark ettiniz.
‫Bunun nedeni, canlı kodlama kullanmamız ve bazen canlı kodlamada derlenen şeylerin
‫editörde görünmemesidir.
‫Yapmamız gereken editörü kapatmak, canlı kodlama penceresini kapatmak ve ardından Visual Studio
‫kodunda control shift B'ye basmak ve Crypt Raider editörü win 64 Development Build'i kullanarak derleme yapmaktır.
‫Bunun başarılı olmasını bekleyin ve ardından düzenleyiciyi yeni proje dosyasından yeniden başlatın.
‫Şimdi BP oynatıcımızı yeniden açarsak ve şimdi yakalayıcıyı sürüklersek, serbest bırakma için arama yaparız.
‫Şimdi release adında bir düğüm olduğunu görebilirsiniz.
‫Ve gerçekten de bunun yapacağı tek şey C++ olarak çağırmak olacaktır.
‫Böylece, Blueprint ve C++'ı bu şekilde yakın işbirliği içinde nasıl kullanabileceğinizi, C++ öğelerini Blueprint
‫dünyasına açarak görebilirsiniz.
‫Şimdi serbest bırakma yürütme pinimi serbest bırakma düğümüne bağlayacağım.
‫Zindanımıza gireceğiz ve play tuşuna basacağız.
‫Ve şimdi eğer tutup bırakırsam, hiçbir şey göremezsiniz çünkü çıktı günlüğünde yer alır.
‫Şimdi çıktı günlüğünü açalım ve düzene yerleştirelim, ardından tekrar oynat düğmesine basalım.
‫Ve şimdi yakalayıp bıraktığımızda, orada kısa bir mesaj olduğunu görebilirsiniz.
‫Gerçekten çok hızlı ilerliyor çünkü her tikte bu çirkin heykel statüsünü vuruyoruz.
‫Ancak orada durup günlüğe geri bakarsanız, serbest bırakılan yakalayıcı yazdığını görebilirsiniz.
‫Yani C++ kodumuz çalıştırılıyor.
‫Tamam, şimdi sizden süpürme kodumuzu bir yakalama işlevine taşımanızı istiyorum.
‫Böylece bir yakalama işlevi oluşturacak ve bunu Blueprint'ten çağıracaksınız.
‫Serbest bırakma işlevini nasıl yaptıysam aynı şekilde yapacaksınız.
‫Ancak grab işlevinin gövdesini oluşturduğunuzda herhangi bir şey yazdırmak
‫yerine, süpürme kodunu, if deyimini ve tüm hazırlık değişkenlerini TIC'den taşıyalım, böylece bunu yapmaz.
‫Her seferinde sadece o yakalama işlevini çağırdığımızda, fare düğmemize bastığımızda veya denetleyicimizdeki bir
‫tetiğe bastığımızda işaretleriz, bu nedenle yeniden derleyin ve bunun gerçekten sadece düğmeye bastığınızda gerçekleştiğinden
‫emin olmak için günlükleri kontrol edin, videoyu duraklatın ve bir deneyin.
‫Tekrar hoş geldiniz.
‫Şimdi C++'ya ve başlık dosyamıza gidelim.
‫Derleme penceresini burada ve serbest bırakmanın üzerinde kapatacağım.
‫Yeni bir U fonksiyonu blueprint'i oluşturacağım, callable, void olacak ve grab olarak adlandırılacak ve bunu
‫C++'da uygulayacağız.
‫Yani yine bir boşluk olacak.
‫İki nokta üst üste, iki nokta üst üste, parantezler ve parantezler.
‫Ve bu kodun tamamını TIC bileşeninden taşıyacağım çünkü başlangıç vektörlerimizi ve bu tür iyi
‫şeyleri ayarlıyoruz.
‫Sonuna kadar gidip keselim ve olması gereken yere yapıştıralım.
‫Gayet iyi.
‫Şimdi canlı kodlamanın BP oynatıcısındaki işlevi yerine getirip getirmeyeceğini görelim.
‫Bip sesi oynatıcısına gidelim, yazdırma dizemizi silelim ve bunu sürükleyelim.
‫Elimizdeki bir düğümü yakalayın ve bir yakalama işlevi bulup bulamayacağımıza bakın.
‫Tamam, bu kez yakalama işlevi bizim için kullanılabilir durumdaydı.
‫Bu harika.
‫Şimdi basılı yürütme pimini bağlayalım, zindanımıza gidelim, oynat düğmesine basalım ve çıktı günlüğünün en altına
‫indiğimizden emin olalım.
‫Görüntü alanıma sağ tıklayıp etrafa bir göz atacağım ve ardından sol düğmeme basacağım.
‫Aktör vuruşu yok diyor ve ardından anında serbest bırakma yakalayıcı, yani aktör vuruşu yok.
‫Ve sonra anahtarı bırakıyorum, serbest bırakma tutucusu yok.
‫Şimdi gargoyle'uma gidersem, ona bir bakacağım.
‫Üzerine bastığımda Aktör'ün Gargoyle Heykeli'ni vurduğunu söylüyor ve sonra yakalayıcıyı bırakabiliyorum.
‫Şimdi bu gargoyle'u yakalamak için doğru türde bir mimarimiz var.
‫Daha sonra, bu kurulumun fizik kısmıyla ilgilenmemiz gerekiyor.
‫Bir sonraki derste görüşürüz.