‫Bu derste, bir C++ sınıfı oluşturacağız.
‫Şimdi piyonlarımız için kullanabileceğimiz bir sınıfa ihtiyacımız var.
‫Şimdi piyonlar diyorum, çoğul olarak, çünkü oyunumuzda iki farklı piyon olacak.
‫Seviyede yuvarlanmak için kullandığımız bir tank olacak ve düşmanımız olacak
‫bir taret olacak, böylece temel bir piyon sınıfı oluşturabileceğiz.
‫Ve bu, hem tankın hem de taretin paylaşacağı temel işlevselliğe sahip olacak.
‫Ve bu şekilde iki alt sınıfımızı, tank ve tareti oluşturabiliriz.
‫Yani bunlar temel piyon sınıfından nitelikleri miras alacaklar ve bunlar her iki piyonun da paylaşacağı
‫şeyler olacak, örneğin ağa sahip olmak, kapsül bileşenine sahip olmak ve mermi fırlatma yeteneği gibi.
‫Şimdi, bu video için gelecek videolarda tüm bu özelliklere değineceğiz.
‫Sadece C++ sınıfını oluşturacağız ve ona bazı temel değişkenler ekleyeceğiz.
‫İşte ilk C++ sınıfımızı oluşturmak için motivasyonumuz budur.
‫Şimdi bu proje için bazı C++ sınıfları oluşturmaya başlamaya hazırız.
‫Şimdi içerik tarayıcısında C++ sınıfları için herhangi bir klasör olmadığını göreceksiniz.
‫Bunun nedeni henüz herhangi bir sınıf oluşturmamış olmamız, ancak şimdi yazmak üzere olduğumuz için araçlara
‫gidip yeni C++ sınıfını seçebiliriz.
‫Ve burada oluşturacağımız sınıf için ana sınıfı seçeceğiz.
‫Ve varsayılan olarak, burada aralarından seçim yapabileceğimiz birkaç seçeneğimiz var.
‫Bu, önceki derslerde görmüş olmanız gereken bir şeydir.
‫Şimdi burada vermemiz gereken bazı kararlar var.
‫Birincisi, hangi ebeveyn sınıfını seçeceğiz?
‫Bizde var.
‫Birincisi hiç yok.
‫Bu temelde eski bir C++ sınıfı oluşturmamıza izin verir, ancak bazı ekstra işlevlere ihtiyacımız olacak.
‫Birincisi, bu nesnenin bir örneğini dünyaya yerleştirebilmek istiyoruz.
‫Yani bunu eski bir C++ sınıfı ile yapamayız.
‫Bunu bir karakterle, bir piyonla ya da bir aktörle yapabiliriz ama yapmak istediğimiz şey için bunlardan
‫hangisi en uygun?
‫Bir adım geri atmalı ve burada tam olarak ne yaratmaya çalıştığımızı düşünmeliyiz.
‫Kontrol edebileceğimiz, seviyede hareket ettirebileceğimiz ve mermi atabileceğimiz bir tank oluşturmaya çalışıyoruz, böylece
‫varlık klasörümüzde hasar ve tüm bu iyi şeyleri yapabiliriz.
‫Sadece hatırlatmak için, burada bu meshes klasörümüz var ve tank tabanımız ve tank taretimiz var.
‫Bunlar sınıfımızda yer alacak iki farklı kafes.
‫Bu yüzden kafeslere sahip olma kabiliyetine ihtiyacımız var.
‫Dolayısıyla, düz bir C++ sınıfı bu yeteneğe sahip değildir.
‫Bunu bir saniye düşünelim.
‫Hangi ana sınıfı kullanmalıyız?
‫Muhtemelen aklınıza gelmesi gereken ilk sınıf aktör sınıfıdır.
‫Artık aktör sınıfı dünyaya yerleştirilebilme özelliğine sahiptir.
‫Yani bu harika bir başlangıç.
‫Ayrıca görsel bir temsile sahip olma özelliğine de sahiptir.
‫Bu ister bir ağ ister başka bir şey olsun, ona bir ağ veya görmek istediğiniz her neyse onu vermeniz koşuluyla,
‫onu dünyaya yerleştirdiğinizde gerçekten görülebilir.
‫Şimdi actor'den türetilen -- sınıfına sahibiz ve bu sınıf, bir denetleyici tarafından sahiplenilme
‫yeteneği gibi ek niteliklere sahip olması dışında, tüm bu nitelikleri actor sınıfından miras alır.
‫Şimdi tüm bu sahip olma olayı daha sonra daha ayrıntılı olarak ele alınacak bir şey, ancak şimdilik bunun bir -- bir
‫oyuncu tarafından kontrol edilebileceği anlamına geldiğini anlayın.
‫Yani bir fare düğmesine veya bir klavye tuşuna basıyorsanız, bu ayarlanıp yapılandırılabilir, böylece
‫-- hareket ettirebiliriz.
‫Yani bu, tankımız için kesinlikle isteyeceğimiz bir şeye benziyor.
‫Dolayısıyla, hareket girdisini işleyerek, -- şu anda -- sınıfından türetilen ve böylece --'ın sahip olduğu
‫tüm şeyleri ve ayrıca --'ın ana sınıfından miras aldığı tüm şeyleri miras alan oldukça iyi bir seçim gibi
‫görünüyor.
‫Karaktere özgü bazı şeylere sahip olan karakter sınıfımız var.
‫Örneğin, karakter hareketi bileşeni denen bir şey var.
‫Şimdi, bir -- buna sahip değil.
‫Karakter hareketi bileşeni, karaktere uçma, yüzme ve çömelme gibi farklı hareket
‫modları ve karakterlere özgü diğer şeyler gibi ekstra yetenekler verir.
‫Karakter sınıfı iki ayaklı karakterler için iyidir ve iki ayaklı olmayan karakterler
‫için çok iyi çalışmayacaktır.
‫Seviyede uçan ve gördüğü her şeye bomba atan bir tanka sahip olmak oldukça harika
‫olsa da, bu bölümde o kadar karmaşık bir şey yapmayacağız.
‫Sadece yuvarlanabilen bir tank yapacağız.
‫Yani karakter hareketi bileşenine veya karaktere özel herhangi bir şeye gerçekten ihtiyacımız yok.
‫Bu yüzden bence bir --, başarmaya çalıştığımız şey için mükemmel.
‫Şimdi sizden yeni bir C++ sınıfı oluşturmanızı, -- tabanlı bir sınıf oluşturmanızı ve bu yeni sınıfa -- tabanlı bir isim
‫vermenizi isteyeceğim.
‫Şimdi tüm ayarları olduğu gibi bırakabilirsiniz.
‫Sınıf oluşturma sihirbazında.
‫Dosya yolunu ya da buna benzer bir şeyi değiştirmenize gerek yok, bu yüzden videoyu duraklatın ve
‫bu proje için ilk C++ sınıfınızı oluşturun.
‫Buraya, seviyeye geri dönelim.
‫Şimdi araçlara gidelim ve yeni bir C++ sınıfı oluşturalım.
‫C++ sınıfını henüz oluşturmadım.
‫O slayta geri dönmek için bunu kapattım.
‫Ama şimdi geri döndüğüme göre, bu proje için ilk C++ sınıfımı oluşturmaya hazırım ve seçeceğim -- ve bunların
‫üzerine her geldiğinizde bunu göreceksiniz.
‫Muhtemelen bunu daha önce görmüşsünüzdür.
‫Bir araç ipucu açılır ve şöyle der: -- oyuncular tarafından ele geçirilebilen tüm aktörlerin temel
‫sınıfıdır.
‫Kulağa oldukça heyecan verici geldiğini biliyorum, ancak bunu bir oyuncudan gelen girdiyle hareket edebilecek şekilde yapılandıracağız.
‫Yani bu mükemmel.
‫Bir seviyedeki oyuncuların ve yaratıkların fiziksel temsilleri olduklarını söylemeye devam ediyor.
‫Başka bir deyişle, bu tankı yarattığımızda, dünyadaki oyuncular olarak bizi temsil edecek.
‫Çok güzel.
‫Bu yüzden -- öğesini seçin ve ileri öğesine tıklayın, bize bu sınıfı projemize yapıştıracağı yolu gösterecek ve kaynak
‫eğik çizgi tune tanklarında olduğunu göreceksiniz.
‫Şimdi yeni -- çünkü benim -- korkunç bir isim ve çok belirsiz.
‫Şimdi biraz daha spesifik bir şeye ihtiyacımız var.
‫Bunu bir temel sınıf olarak kullanmayı planlayacağız, yani bu sınıftan sınıflar türeteceğiz,
‫böylece bu tabanı çağırabileceğiz --.
‫Bunun benimkinden çok daha iyi olmadığını biliyorum ama yine de bize bunun bir üs olduğunu söylüyor.
‫Bu, gelecekte alt sınıfları türeteceğimiz bir şeydir.
‫Ona da geleceğiz.
‫Ancak şimdilik, buna temel diyeceğiz -- ve Sınıf Oluştur'a tıklayacağız.
‫Tamam.
‫Böylece Visual Studio kodu yeni sınıfımızla bizim için açıldı.
‫H'yi temel aldık ve CP'yi temel aldık.
‫Şimdi buradaki Explorer simgesine tıklayarak bu kenar çubuğunu kapatabilir ve V'nin kodunun bizim için ne
‫ürettiğine bakabiliriz.
‫Böylece varsayılan olarak sınıf kurucusunun yanı sıra üç fonksiyona sahip oluruz: başla, oynat, işaretle ve oyuncu giriş
‫bileşenini ayarla.
‫Şimdi Begin, Play'e aşina olmalı ve buradaki yorumları işaretlemelisiniz.
‫Ne yaptıklarını açıklayın.
‫Set up player input bileşeni piyonun aldığı bir şeydir ve bu fonksiyon bir klavye tuşu veya fare tıklaması gibi
‫girdileri işlememizi sağlar ve bunun nasıl çalıştığı hakkında daha fazla bilgiyi gelecekteki baseband videolarında
‫öğreneceğiz.
‫CP Bu işlevler bizim için tanımlanmıştır, ancak oldukça yalındırlar ve gelecekteki videolarda da bu değişmeyecektir.
‫Bu videoda ilk C++ sınıfımızı oluşturduk ve bir sonraki videoda bileşenleri ve yeni sınıfımıza neden bazılarını
‫eklemek istediğimizi tartışacağız.
‫Yakında görüşürüz.