‫Hey.
‫Tekrar hoş geldiniz.
‫Şimdi, zaten bir temel -- C++ sınıfı oluşturduk.
‫Bu videoda, base -- temelinde yeni bir alt sınıf oluşturmak için bu sınıftan türeteceğiz.
‫Şimdi neden böyle bir şey yapmak istediğimizi tartışalım.
‫Yani bu base -- sınıfımız var ve base --'dan türeyen iki farklı sınıfımız olacağını biliyoruz.
‫Tankımızı ve kulemizi alacağız.
‫Şimdi, taban -- kafesler, bir kapsül ve bir doğma noktası içerir.
‫Ve bunlar hem Tank'ın hem de kulenin miras alabileceği şeylerdir.
‫Ancak tank ve kule de birbirinden farklı bazı işlevlere sahip olacaktır.
‫Birincisi, tankımız dünyada hareket edecek ve aynı zamanda oyuncu tarafından kontrol edilecek.
‫Bu yüzden klavye ve fareden girdi alacak şekilde yapılandırılması gerekecektir.
‫Öte yandan kule orada öylece duracak.
‫Tüm eylemleri kod tarafından kontrol edileceği için oyuncudan herhangi bir girdiye ihtiyacı yoktur.
‫Tank ve kule farklı davranacağından, temel sınıfların alt sınıflarını oluşturmak için kalıtımdan
‫yararlanacağız - böylece ortak olan şeyleri miras alabilir ve daha sonra her sınıfa farklı olacak özellikleri
‫ekleyebiliriz.
‫Editörün içine geri döndük ve C++ sınıflarımıza, Tune Tank'ın klasörüne gideceğim,
‫burada temel -- sınıfımız var ve bu da türettiğimiz sınıf olacak.
‫Şimdi buraya sağ tıklayabilir ve base -- öğesinden türetilmiş C++ sınıfı oluştur öğesini seçebiliriz.
‫O halde bunu seçelim ve bu sınıfı base -- ile aynı source slash tune tanks klasörüne yerleştirmesine
‫izin vereceğim.
‫Bunun adına da tank diyeceğim.
‫Yani tank sınıfımız, kontrol ettiğimiz ve dünyada hareket ettirdiğimiz gerçek tankımızın sınıfı
‫olacak.
‫O halde sınıf oluştur'a tıklayalım.
‫Tamam, derledik ve vs kodu yeni tank dosyamızla açıldı ve ayrıca Tank CP'ye sahibiz.
‫Şimdi bunlar oldukça çıplak.
‫Burada gerçekten hiçbir şey yok, ancak onları göremesek de, temel -- sınıfından bazı şeyleri
‫miras aldık.
‫Tabana eklediğimiz bu bileşenlere sahibiz --.
‫Bunlar özel değişkenler olsa da, yine de bu sınıfta mevcutturlar.
‫Şimdi tank sınıfımızı oluşturduğumuza göre, birkaç şey hakkında konuşalım.
‫Tank, taretin ihtiyaç duymayacağı şeylere ihtiyaç duyacaktır.
‫Tankı kontrol edeceğimize göre, seviye boyunca yuvarlanırken tanka odaklanmanın bir
‫yoluna ihtiyacımız olacak.
‫Şimdi, bu resimde, buradaki bir kamera bileşenidir.
‫C++ sınıfı kamera bileşenidir.
‫Buradaki kırmızı çizgi yaylı kol bileşeni olarak adlandırılır ve C++ sınıfı yaylı kol bileşenidir.
‫Bu bileşenleri bir -- kameraya eklemek, -- kameranın bakış açısından -- görüntülememizi sağlar.
‫Ve eğer kamera ve yaylı kolu bir şekilde kameraya bağlıysa, kamerayı dünya üzerinde takip
‫edecektir.
‫Şimdi, burada editörde, -- klasörümüze geri dönüp BP -- tankını açarsak, her şeyi görebilmek için
‫görüntü alanına tıklayabiliriz.
‫Ardından kapsül komponentini seçip ekle'ye tıklayabilir ve yaylı kolu seçebiliriz.
‫Bu bir yaylı kol bileşenidir.
‫Kırmızı bir çizgiye benziyor.
‫Şimdi yaylı kol bileşenimiz seçiliyken, başka bir bileşen ekleyebilir ve kamerayı seçebiliriz.
‫Şimdi, yaylı kola bağlı kamerayı ekledikten sonra, artık --'yı gerçekten kontrol etmeye başladığımızda
‫kameranın bakış açısından görmenin bir yoluna sahibiz.
‫Şimdi yaylı kol oldukça kullanışlı.
‫Bu hedef kol uzunluğuna sahiptir ve bunu ayarlarsanız, kameranın yaylı kolla birlikte ayarlandığını göreceksiniz.
‫Yani bu, kameranın --'dan ne kadar uzakta olduğunu kontrol etmenin bir yoludur.
‫Yani bunlar kesinlikle -- sınıfımızda olmasını istediğimiz şeyler, ancak bunları
‫blueprint'e eklemek yerine C++ tarafından ekleyeceğiz.
‫Bu yüzden onları sileceğim.
‫Bu yüzden meydan okumanız için tank sınıfına bazı şeyler eklemenizi istiyorum.
‫İlk olarak, bir yaylı kol bileşenine ve bir kamera bileşenine ihtiyacımız var, bu nedenle bu değişkenleri oluşturun ve
‫işaretçi yapın.
‫Devam edin ve bir genel ve bir özel bölüm oluşturun ve bu değişkenleri özel bölüme koyun.
‫Şimdi bunların U özellikleri olmasına ihtiyacımız olacak, bu yüzden onlara özellik makroları verin ve önceki derslerde
‫öğrendiklerinize dayanarak bu makroları uygun belirticilerle doldurun.
‫Şimdi, bu değişkenleri oluşturduktan sonra, bir kurucu oluşturun ve bunu public bölümüne koyun
‫ve CP dosyasında tanımlayın ve ardından kurucunun içinde varsayılan alt nesne oluşturmayı kullanarak kameramızı ve yaylı kol
‫bileşenlerimizi oluşturun.
‫Bu bileşenleri bir şeye bağlamak için kurulum eklentisi kullandığınızdan emin olun.
‫Yay kolu bileşenimizin kök bileşene bağlı olmasını istiyoruz.
‫Bu yüzden kök bileşeni kullanın ve kurulum ekini ayarlayın ve kamera için yaylı kola takın.
‫Temel -- sınıfına geri dönebilirsiniz.
‫A Bunları yapmak için kodun neye benzediğini kendinize hatırlatın.
‫Devam edin ve videoyu duraklatıp bunları tank sınıfına ekleyin.
‫Tamam.
‫Tank'a geldik.
‫Şimdi, her şey sırayla.
‫Herkese açık bir bölüm ve özel bir bölüm olmasını istiyorum.
‫Dolayısıyla, özel bölüm bu iki yeni bileşeni eklediğimiz yer olacaktır.
‫Bir U yay kolu bileşeni isteyeceğiz, bu bir işaretçi olacak ve bu yay kolunu çağırabiliriz.
‫Ayrıca yeni bir kamera bileşenine ihtiyacımız olacak ve buna kamera adını vereceğiz.
‫Sorun değil.
‫İsimleriniz biraz farklıysa.
‫Şimdi, hemen burada IntelliSense hatalarını görüyorum, bu da bunları ileri bildirmem gerektiği
‫anlamına geliyor.
‫Bu yüzden class with spring arm ve class with camera kullanacağım.
‫Ve şimdi bunlar ileriye dönük olarak beyan edildi.
‫Şimdi yeni özelliklerimize ihtiyacımız var.
‫Şimdi yeni özellik makrolarını ekleyelim.
‫Ve özellik makrosunun içinde bazı belirleyicilere sahip olmak isteyeceğiz.
‫Ayrıntılar panelinde parametrelerini ayarlayabilmemiz için bileşenlerin herhangi bir yerde görünür olması gerektiğini
‫gördüğümüzden, bunlar herhangi bir yerde görünür olacaktır.
‫Şimdi, olay grafiğine maruz kalmak için acil bir ihtiyaç görmüyorum, bu yüzden blueprint okuma, yazma veya sadece blueprint
‫okumaya ihtiyacımız olduğunu düşünmüyorum.
‫Sorun değil.
‫Eğer onları eklediyseniz, şimdi onları çıkaracağım.
‫Bunlara bir kategori vereceğim.
‫Bunlar bileşen olduğu için, bunları diğer bileşenlerimizle birlikte bileşenler kategorimize yerleştireceğim.
‫Şimdi bunları olay grafiğine göstermiyorum, bu yüzden burada belirtilen meta allow private access'e ihtiyacım
‫yok.
‫Yani bu yaylı kol için yeterli ve kamera bileşenine de aynı özelliği vermek istiyorum.
‫O yüzden kopyalıyorum.
‫Artık bileşenlerimiz var.
‫Yapılacak bir sonraki şey bunları yapıcıda oluşturmaktır, bu da bir yapıcıya ihtiyacımız olduğu anlamına gelir.
‫Şimdi yapıcı sınıfla aynı isimde olacak, yani bir tank ve bu yapıcıyı CP dosyasında tanımlamamız
‫gerekiyor.
‫Şimdi Tank CP'ye gidelim ve bir tank oluşturalım.
‫İşte fonksiyonumuzun gövdesi ve tank yapıcısının önüne sınıf adımız ve kapsam çözümleme operatörümüz
‫eklenmelidir.
‫Buradaki çift iki nokta üst üste.
‫Bu şekilde sadece yeni bir fonksiyon oluşturmakla kalmıyor, aynı zamanda bu sınıf için kurucumuzu da tanımlamış oluyoruz.
‫Şimdi bu bileşenleri oluşturmak istiyoruz.
‫Şimdi yaylı kolla başlayalım.
‫Bu yüzden yaylı kol eşittir varsayılan alt nesne oluştur diyeceğiz ve bu bir u yaylı kol bileşeni olacak.
‫Metin için bu yaylı kol diyeceğim.
‫Ve ek için, yaylı kolu ayarlayacağız, eki kuracağız, kök bileşeni geçireceğiz.
‫Şimdi.
‫Ben de onu bekliyordum.
‫İşte burada.
‫IntelliSense hatası, eksik sınıf türü işaretçisinin spring arm bileşenini kullandığını söylüyor.
‫Bunun nedeni, bir yaylı kol bileşeni oluşturduğumuz ve kullandığımız için başlık dosyasını dahil etmemiz gerektiğidir.
‫İşte benim unreal motor dokümantasyonum ve aşağı kaydırırsam, benim dahil ettiklerim var.
‫Bu yüzden bunu kopyalayacağım ve tam buraya, tank kenarının altına yapıştıracağım.
‫Şimdi, genel olarak bir yan not, sınıf başlık dosyanızı en üstte tutacaksınız ve bileşenleriniz
‫için bunun altında yer alacaksınız.
‫Yani yaylı kolumuz var.
‫Kamerayı inşa etme zamanı.
‫Bu yüzden kamera varsayılan alt nesneyi, yani kamera bileşenini oluştur diyeceğiz.
‫Metin makrosunda buna sadece kamera diyeceğim.
‫Ve kamera için yaylı kolda geçen kurulum eklentisi diyeceğim.
‫Ve tabii ki kamera başlık dosyasına ihtiyacım var.
‫İşte unreal engine belgeleri ve burada belgeleri ara yazan yere you camera
‫component yazacağım ve burada you camera component'i görüyorum.
‫Bunu seçiyorum.
‫Ve işte kamera bileşeni için belgeler.
‫Bu yüzden kopyalayıp dosyamızın en üstüne yapıştıracağım.
‫Ve şimdi iyi olmalıyız.
‫Tamam, hadi devam edelim ve bunu derleyelim.
‫Tamam.
‫Yani başarılı bir derleme yaptım.
‫Editöre geri dönelim ve -- Tank'a geçelim.
‫Tabii ki hiçbir şey görmüyoruz çünkü -- tank base'den türetilmiştir -- ve az önce eklediğimiz
‫bileşenler tank sınıfına eklenmiştir.
‫Yani BP -- tank bunları almayacaktır çünkü tank sınıfından türetilmemiştir.
‫Şimdi gidip tank sınıfını temel alan yeni bir plan oluşturabiliriz, ancak o zaman bu bileşenleri
‫baştan kurmamız gerekir.
‫Ve tüm bu işleri ikinci kez yapmak istemiyorum.
‫Bu planı tank sınıfına onarmanın daha kolay bir yolu var.
‫Bunu sınıf ayarlarına giderek yaparız ve sınıf ayarları seçiliyken ayrıntılar panelinde sınıf
‫seçeneklerini görürüz ve bu üst sınıf vardır.
‫Açılır menü temel sınıf olarak ayarlandığını gösterir, ancak üzerine tıklarsak tank'ı arayabilir ve
‫temel sınıf olarak tank'ı seçebiliriz.
‫Ve şimdi bu plan tank sınıfından türetilmiştir.
‫Böylece, ağ ve kapsül boyutu gibi bileşenlerimizle ayarladığımız tüm özelliklerin hala orada
‫olduğunu görüyoruz.
‫Ama şimdi bir kamera görüyoruz.
‫Aslında, bir yaylı kolumuz ve bir kameramız var.
‫Şimdi yay kolunu seçersek, kırmızı çizgiyi görebiliriz.
‫Yani bu harika.
‫Böylece bu yaylı kol bileşenini alabilir ve hedef kol uzunluğunu değiştirebilirim.
‫İstersem, 600 gibi bir değere ayarlayabilirim ve hatta rotasyon modunu seçip biraz yukarı döndürerek
‫kamerayı tanka doğru açacak şekilde rotasyonunu değiştirebilirim.
‫Mesela şimdi kameranın konumunu değiştirmemeniz gerektiğini belirtmek isterim.
‫Kamerayı seçmek ve onu dünyada hareket ettirmek cazip gelebilir, böylece onu konumlandırır ve tam olarak doğru
‫açıyı verirsiniz.
‫Ancak bunu yapmanın doğru yolu bu değildir.
‫Doğru yol, yaylı kol bileşeninin rotasyonunu ve hedef kol uzunluğunu ayarlamaktır.
‫Bunun nedeni de kameranın yaylı kolun ucuna takılmasını istemenizdir.
‫Yaylı kol, kamera engellerden kaçınmak için bir duvara çarptığında küçülme,
‫gölete bakışı engelleme ve bunun gibi birçok farklı yerleşik özelliğe sahiptir.
‫Bu yüzden kameranın yaylı kolun ucuna takılmasını ve kameranın konumunu ve dönüşünü
‫ayarlamak yerine yaylı kolu ayarlamasını isteyeceksiniz.
‫Bu videoda tank sınıfını oluşturduk ve bu nitelikleri temel havuz sınıfından miras almak için temel
‫havuzdan türettik.
‫Bir yaylı kol bileşeni ve bir kamera bileşeni ekledik ve bunları yalnızca görünür kullanarak editöre gösterdik
‫ve kendi kategorilerine koyduk.
‫Böylece bitmiş ürüne adım adım yaklaşıyoruz ve bir sonraki derste bu tankı geliştirmeye
‫devam edeceğiz.
‫Yakında görüşürüz.