‫Merhaba ve hoş geldiniz.
‫Bu derste, özel bir görev ekleyerek davranış ağacımıza daha da fazla işlevsellik eklemeye
‫başlayacağız, bu karatahta değerini temizleyin, bunu tamamen C++'da özel hale getireceğiz.
‫Şimdi nasıl yapılacağını görelim.
‫Tamam.
‫Bu nedenle, araştırmaya başlayabilmemiz için bu davranış ağacının davranışını genişletmek istiyorum.
‫Ve araştırmayı bitirdiğimizde, eve dönmek için harekete geçiyoruz.
‫Bu yüzden buraya daha sonra bizi başlangıç konumuna döndüren küçük bir göreve taşı ekleyeceğim.
‫Ve oraya ulaşmak için yapmamız gereken şey, bilinen son oyun konumunu daha önce ziyaret edip etmediğimize
‫dair bir fikre sahip olmaktır.
‫Ve bunu yapmamın yolu, şu anda bunu yapmanın bir yolu yoksa, şu anda araştırdıktan
‫sonra bilinen son oyuncu konumunu ayarlamaktır.
‫Ama öncelikle dekoratörü oluşturalım.
‫Blackboard'u araştırmak için bir dekoratör ekleyin, bu dekoratör gidip onu has investigated olarak yeniden
‫adlandıracak ve bu da bilinen son konumun ayarlanıp ayarlanmadığını kontrol edecek.
‫Bu da bir karatahta anahtarının ayarını kaldırmamızı sağlayan bir tür düğüme sahip olmamız gerektiği anlamına gelir.
‫Aslında böyle bir şey yok.
‫Sadece öyle olduğunu düşündünüz ama öyle değil.
‫Dolayısıyla bu, size özel bir görevi nasıl oluşturabileceğimizi göstermem için harika bir fırsat.
‫Şimdi, bunu Blueprint kullanarak çok kolay bir şekilde yapabilirsiniz ya da size biraz daha zor bir yol
‫göstereceğim, ancak size çok fazla güç veren, C++ ile yapmaktır.
‫Bu yüzden ana içerik tarayıcımıza gideceğiz, yeni ekle'ye gideceğiz ve yeni C++ sınıfına gideceğiz ve tüm sınıfları göster
‫onay kutusunu işaretlemek isteyeceğiz.
‫Ve sonra Beat Task'ı arıyoruz ve burada çok sayıda seçenek var.
‫Bunların birçoğunun aslında ses çıkarma veya şuraya git veya bekle gibi yerleşik görevler olduğunu görebilirsiniz.
‫Şimdi gidip bunların nasıl uygulandığını görmek için C++'a bir göz atabilirsiniz.
‫Bu her zaman faydalıdır, ancak bizim ilgilendiğimiz şey neyi miras almamız gerektiğidir?
‫Kendi düğümümüz için temel olarak neyi kullanmalıyız?
‫Şimdi burada birkaç seçenek var.
‫Temel olarak bir görev düğümüne sahip olmayı seçebilir veya karatahta tabanını kullanabilirsiniz.
‫Şimdi ikisi arasındaki fark nedir?
‫Hızlıca bir göz atalım.
‫Bu yüzden karatahta tabanını kullanmak için harekete geçin.
‫Bunun anlamı, birlikte çalışmak için bir yazı tahtası anahtarı seçmemize olanak tanıyan bu yazı tahtası anahtarı açılır menüsüne
‫sahip olmasıdır.
‫Bu, çalıştığımız yazı tahtası tuşlarını görevimize kodlamak zorunda olmadığımız anlamına gelir; bu da harika bir
‫şeydir çünkü bu görevleri farklı durumlarda yeniden kullanmamıza olanak tanır.
‫Yani bir karatahta anahtarına ihtiyacınız varsa, karatahta tabanı ile gitmek için harika bir tanesidir, aksi takdirde diğerini
‫kullanırsınız.
‫Şimdi gidip tekrar yeni bir C++ sınıfı ekleyelim, tüm sınıfları gösterelim ve tekrar beat
‫görevini arayalım ve Blackboard Base'i seçip next'e basalım.
‫Şimdi bunu Beat Task, Underscore Clear Blackboard Value olarak yeniden adlandıracağım ve devam edip bu sınıfı
‫burada oluşturacağız.
‫Şimdi, başlangıçta bu başarısız olacaktır.
‫Evet'e tıklayalım ve burada hata mesajının ne olduğunu görelim.
‫Link hakkında bir şeyler söylüyor, bu da Link, çözülmemiş dış sembol, falan filan anlamına geliyor.
‫Genellikle bağlayıcıdan bu tür bir hata aldığınızda, bu, başlık dosyalarınızda
‫C++'da olmayan bir şey olduğunu veya bu durumda güvendiğimiz bir modülün dahil edilmediği anlamına
‫gelir.
‫Ve aradığı sembol türlerine dayanarak, burada AI oyun görevi sahibi arayüzü olduğunu görebiliyorum.
‫Oynanış görevleriyle ilgili bir şey arıyor gibi görünüyor ve bu aslında bir modül.
‫Visual Studio kodumuza gidersek ve dosya tarayıcısını açarsak, projeme doğru ilerleyecektir.
‫Sonra kaynak basit atıcı altında.
‫Basit bir atıcı build X veya projenizin adı her neyse, build olmalıdır.
‫Ve burada, bize biraz daha yer verirsem, bu genel bağımlılıklara, modül adlarına
‫sahip olduğumuzu görebilirsiniz ve burada bu listeye eklemek istediğimiz modül adı game play olacak.
‫Tasks with an S ve eğer devam edip bunu eklersek ve şimdi geri dönüp derlersek, umarım her şey herhangi bir nedenle
‫başarılı bir şekilde derlenmelidir.
‫Bir önyükleme görevi için geçersiz kıldığınızda bu otomatik olarak eklenmez.
‫Şimdi bu işlem tamamlandıktan sonra, burada neyin oluşturulduğuna bir göz atalım.
‫Beta görevimiz olan yeni bir sınıfımız olmalı, karatahta değerinin altını çizmeliyiz ve şu anda
‫oldukça boş.
‫Şimdi yapmak istediğim şey, bunu şu anda davranış ağacımıza ekleyecek olsaydık, çirkin bir isme
‫sahip olacaktı.
‫Bu yüzden bu görev için insan tarafından okunabilir güzel bir isim istiyoruz.
‫Bunu yapmanın yolu da bir kurucu eklemek ve bir özellik ayarlamaktır.
‫O halde burada bir genel kurucu oluşturalım.
‫Yapıcı her zaman sınıfla aynı isme sahiptir, böylece bunu kopyalayabiliriz.
‫Sonunda herhangi bir noktalı virgül argümanı almasına gerek yoktur ve ardından C++'da uygulamayı
‫oluşturalım.
‫Ve uygulamanın sadece düğüm adı adında bir değişken ayarlaması gerekir.
‫Dolayısıyla, düğüm adını ayarlar ve ardından bir dize kullanırsanız, ayarladığımız dize düğüm adı olacaktır.
‫Yani açık bir tahta olacak.
‫Değer sadece boşluklarla ve doğru büyük harf kullanımıyla güzel ve kolay olmalıdır.
‫Şimdi, kayıt sırasında yapmayı unuttuğum bir şey, bunu metin makrosu ile çevrelemek.
‫Şimdi devam edip bunu kodunuzda yapmalısınız, ancak bunu benim kodumda göreceksiniz.
‫Bu şekilde kalmaya devam edecek ve şimdi gidip bunu derleyebilmeliyiz.
‫Başarıyla derlenmiş olması harika.
‫Bu yüzden size bu yeni düğümü eklemeniz için meydan okuyorum.
‫Bu yüzden bunu araştırma davranışının sonuna ekleyin ve sadece tamamlandığını kontrol edin.
‫Temel olarak, hiçbir şey yapmadan otomatik olarak tamamlanmalıdır.
‫Ancak adın doğru olup olmadığını kontrol edin.
‫Ekleyebildiğinizi kontrol edin ve bir sonraki derste davranış eklemeyi inceleyeceğiz.
‫Videoyu duraklatın ve bir deneyin.
‫Tamam.
‫Tekrar hoş geldiniz.
‫Düşmanımız A'ya gidelim. I. ve araştırma davranışının sonuna ekleyin.
‫Şeffaf karatahta değerimizi ekleyeceğiz.
‫Orada güzel bir isim olduğunu görebilirsiniz.
‫Ayrıca ayrıntılar bölmesine giderseniz bir karatahta anahtarı seçebileceğinizi de görebilirsiniz.
‫Bilinen son oyuncu konumunu seçeceğiz.
‫Bu henüz bir şey yapmasa da, Blackboard Base'den miras aldığımız için bu işleve sahip
‫olduğumuzu görebilirsiniz ve otomatik olarak tamamlandığını kontrol edelim.
‫Bunu yapmalı ve sonra yoluna devam etmelidir.
‫Daha sonra bunu bir ağırlık görevine taşıyalım, böylece bunun doğrudan geçtiğini veya otomatik olarak tamamlandığını
‫görebiliriz.
‫Bu yüzden oynayacağım, gidip kendimi bir köşeye saklayabildiğim kadar saklayacağım ve sonra
‫gidip araştırmaya bakacağım ve aslında beni gördü.
‫O zaman gidip tekrar saklanalım.
‫Yapabilirsem köşeye gidip saklanacağım.
‫Ben giderim, sonra da sinemaya giderim.
‫Al bakalım.
‫Açık karatahta değerinin içinden geçti, bu da başarılı olduğu anlamına gelmeli, çünkü
‫bir sekans olsaydı ve başarısız olsaydı, durmuş ve ağırlığa gitmemiş olması gerektiğini biliyoruz.
‫Yani bu doğru çalışıyor.
‫Kara dünyanın net değeri hemen başarıyı döndürmek ve bir sonraki dersi beklemeye devam etmektir, işlevselliği
‫gerçekten nasıl ekleyebileceğimize bakacağız.
‫Orada görüşürüz.