‫Merhaba ve hoş geldiniz.
‫Bu derste tüfeğimizi çalışma zamanında C++'daki karakter sınıfımızdan üreteceğiz.
‫Hadi içeri dalalım ve nasıl yapıldığını görelim.
‫Tamam.
‫Bu yüzden silahımızın atıcı karakterin bir çocuğu olarak ortaya çıkmasını istiyoruz, ilk çağrı noktası bu
‫aktörü başka bir aktörün içinden ortaya çıkarabilmektir.
‫Bunu çalışma zamanında yapacağız.
‫Oyuna başlarken bunu yapacağız çünkü bu şekilde yapmanız gerekiyor.
‫Aktörleri ortaya çıkarırken, bunu çalışma zamanında yapmanız gerekir.
‫Bunu yapmanın yolu da önce dünyayı ele geçirmek.
‫Yani bir dünya alacağız ve sonra get world üzerinde bir fonksiyon çağıracağız, bu arada, world ve level eşanlamlıdır.
‫Yani aslında burada yaptığımız şey, seviyeye çıkıp, hey, seviye, bir aktör
‫olarak yaratabilir misin, çünkü tüm aktörler aslında bir seviyeye aittir veya bir seviyede yaşar?
‫O zaman biz de diyoruz ki, benim için bir aktör yumurtlayın lütfen.
‫Bu da bir şablon alan bir yumurtlama aktörüdür.
‫Diyebilirsiniz ki, ortaya çıkaracağım bu aktörün A tipi silah olmasını istiyorum.
‫Ve bunun çalışması için, burada gun dot h için bir include hash include olması gerekecek.
‫Ve sonra bir argüman alacağız ve spawn argümanı aslında bir sınıf tipi olabilir.
‫Bu yüzden varsayılan olarak devam edecek ve C++'ı oluşturacaktır.
‫Ancak burada bu silahın plan çocuğunu ortaya çıkarmak istiyoruz.
‫Bu yüzden Blueprint'te bağlanması gereken şeyin ne olacağını bulmamız gerekiyor.
‫Buraya C++ ile bağlanamaz, en azından kolayca bağlanamaz.
‫Bunu yapmak için en iyi yer Blueprint'tir.
‫Bu yüzden, konumuz için başlık dosyasına karaktere gitmek için bir alt oh yapacağız.
‫Ve buraya yeni bir you özelliği ekleyeceğiz.
‫Bir aktörü ortaya çıkarmak için işaret etmemiz gereken sınıfı yapılandırmamıza izin vermek için.
‫Bu nişancı karakterinden hangi blueprint sınıfını üretmeliyiz?
‫Bunu yalnızca varsayılanları düzenle olarak alacağız çünkü bunu çalışma zamanında düzenleyebilmek istemiyoruz çünkü bu, çalışma zamanında ne
‫tür bir silah kullandığımızı değiştirebileceğiniz gibi yanlış bir izlenim
‫verecektir.
‫Oysa Oyuna Başla denildiğinde silahlar zaten ortaya çıkmıştır ve bu yüzden aslında hiçbir şeyi güncellemeyecektir.
‫Dolayısıyla, insanlara neler yapılabileceği konusunda yanlış bir izlenim vermemek için bunu düzenlenebilir hale getirmek istemiyoruz.
‫Ve sonra burada daha önce karşılaşmış olabileceğiniz veya olmayabileceğiniz T subclass of adlı bir
‫makro kullanacağız ve DT subclass of bir şablondur.
‫Bu yüzden yine bu köşeli parantezleri kullanıyoruz ve silahın bir alt sınıfı demesini istiyoruz.
‫Temel olarak bunun anlamı, Blueprint'in seçebileceğimiz sınıfları yalnızca Gun C++
‫sınıfının alt sınıfları olan sınıflarla sınırlamasına izin vermesidir.
‫Şimdi bu bir işaretçi olmayacak çünkü silahın gerçek bir örneğine işaret etmiyoruz.
‫Burada bu değişkende elde ettiğimiz şey bir sınıfın kendisidir.
‫Bu durumda, bu bir plan sınıfıdır, ancak yine de bir sınıftır.
‫Bu yüzden, bunun aslında silahın kendisi olmadığını açıkça belirtmek için buna silah
‫sınıfı demek isteyeceğiz.
‫Burada silahı saklamak için başka bir özellik istiyoruz ve bu bir düzenleme varsayılanı olmayacak.
‫Yani temel olarak, bunu görünür bir özellik haline getirmek istemiyoruz, ancak bir A tabanca işaretçisi
‫olacak.
‫Farkı görüyor musunuz?
‫Bunlardan biri silahın bir alt sınıfı, diğeri bir silah işaretçisi ve bu da gerçek silah.
‫Sınıfın bir örneğini oluşturduktan sonra, onu saklayacağımız yer burasıdır.
‫Öyleyse atıcı CP'mize gidelim ve bir şeyleri ortaya çıkardığımız bu başlangıç oyununu bitirelim, böylece dünyada ortaya çıkan
‫aktör silahını elde etmek için eşit silahımız olacak.
‫Ve burada aktaracağımız argüman, Blueprint'te ayarlayacağımız silah sınıfıdır.
‫Şimdi gidip bunu derlemeye çalışalım.
‫Bize bazı hatalar verebilir.
‫Bakalım, mesaj günlüğünü derleme günlüğüyle birlikte açtım ve yeterince eminim, burada head dosyasında undeclared
‫identifier diyen bazı hatalar alıyoruz çünkü silahı ileri bildirmemiz gerekiyor.
‫Bu yüzden bunu en üstte yapacağım çünkü iki yerde sınıf diyeceğim.
‫Bunun gibi bir silah.
‫Ve sadece bir hatırlatma, bu şekilde ileri bildirim yapmak, ağır başlık dosyalarına çok fazla şey eklemeyerek derleme
‫sürelerimizi düşük tutabileceğimiz anlamına gelir.
‫Yeniden derlemeyi deneyelim ve görelim.
‫Görünüşe göre tek hata buymuş.
‫Şimdi başarıyla derlendi.
‫Devam edip oynat tuşuna basalım ve neler olacağını görelim.
‫Çıkın.
‫Bize bir göz atın.
‫Temel olarak, açık olmayan mesaj günlüğüne bakmak istiyoruz.
‫Şimdi pencere ve geliştirici araçlarına gidip çıktı günlüğüne bir göz atalım ve burada herhangi bir hata olup olmadığına bakalım.
‫Evet, hiçbir sınıf belirtilmediği için spawn actor başarısız oldu.
‫Elbette, henüz blueprint'te yapılandırmadığımız için hiçbir sınıf belirtilmedi.
‫Bu yüzden, silahı bağlamanız, karakter planımızdaki özelliği bulmanız, doğru silaha ayarlamanız ve ortaya
‫çıktığını test etmeniz için size bir meydan okuma olarak vereceğim.
‫Bir videoyu duraklatın ve deneyin.
‫Tekrar hoş geldin.
‫Şimdi atıcı karakterimiz BP'ye gidelim ve rota ya da sınıf üzerinde olması gereken özelliği bulalım.
‫Varsayılanlar ayrıntılara girer ve bir karakterin altını çizer.
‫Burada yapılandırdığımız bir dönüş oranımız olduğunu ve silah sınıfımızın bulunduğunu görebilirsiniz; bu,
‫silahın C++ silahı olması arasında seçim yapmamı sağlayan bir açılır menüdür.
‫İşte bu noktada adlandırma kurallarımız işe yarıyor.
‫Önünde BP alt çizgisi olan şeyler planlardır.
‫BP alt çizgi tüfeğimizi istiyoruz, devam edin ve bu derleme kaydını seçin, sahneye gidin ve oynat düğmesine
‫basın.
‫Şimdi, umarım, silahımızın ortaya çıkmasıyla ilgili herhangi bir hata almamışızdır.
‫Silah ortaya çıkmalıydı.
‫Tamam.
‫Olup olmadığını anlamak için de sekizinci kata çıkıp dünya taslağına bir göz atabiliriz.
‫Dünya taslağını biraz daha büyük yaparsam, BP alt çizgi tüfeğini arayabilirim.
‫Yaşasın.
‫Şu anda hiçbir yerin ortasında ve doğru çocuk kimliği olmayan bir BP alt çizgi tüfeğimiz var.
‫Bu bir sonraki dersin konusu olacak.
‫Orada görüşürüz.