‫Merhaba ve tekrar hoş geldiniz.
‫Şimdi tareti döndürmeye hazırız ve bunu fareyi kullanarak yapmak istiyoruz.
‫Ve bu vuruş yeri bir önceki videoda yaptığımız iz vuruşundan.
‫Yani ben fare imlecimi hareket ettirirken, taret dönüyor ve fare imlecinin yönüne bakıyor.
‫Ve görüntü alanına tıklayıp oynamaya başladığımda bile, tareti döndürmek ve yönünü ayarlamak
‫için fare imlecini hareket ettirebiliyorum.
‫Bu, mermileri ateşleme kabiliyetine sahip olduğumda nişan almamı sağlayacak.
‫Tamam.
‫Bunu başarmak için taretimizin işaret etmesini istediğimiz yönü bulmamız gerekiyor.
‫Ve bu yönü bulduktan sonra, taret ağının dönüşünü ayarlayabiliriz.
‫Şimdi, taretin işaret etmesini istediğimiz yönü elde etmek için biraz vektör matematiği yapmamız
‫gerekiyor.
‫Aradığımız şey, tank taretinden iz vuruş konumumuza kadar olan bir vektör.
‫Artık tankımızın veya tankın taretinin konumu gibi bileşenlerinden herhangi birinin konumunu kolayca
‫alabiliriz.
‫Buraya konum, taret, konum diyeceğiz.
‫Ayrıca izleme kafasının yerini nasıl bulabileceğimizi de biliyoruz.
‫Bu izi isabet konumu olarak adlandıracağız.
‫İlgilendiğimiz şey, taret konumundan iz vuruş konumuna kadar olan vektördür.
‫Bu vektörü hedef olarak adlandıracağız.
‫Şimdi hedefe ulaşmak için vektör matematiği aslında oldukça basittir.
‫Bir başlangıç noktasından bir bitiş noktasına bir vektör elde etmek için her zaman bitiş noktası eksi başlangıç noktasıdır.
‫Yani izimizi, isabet konumumuzu alır ve vektör taret konumunu çıkarırsak, bunun sonucunda
‫ortaya çıkan vektör hedefe gider.
‫Şimdi, iki hedef yön vektörüne sahip olduğumuzda, bunu bir dönüşe dönüştürmek istiyoruz, böylece tankın
‫taretinin dönüşünü ayarlayabiliriz.
‫Ve vektör türünün rotasyon adı verilen yerleşik bir işlevi vardır.
‫Dolayısıyla, hedef vektörümüzü alıp üzerinde rotasyon çağrısı yaparsak, bu, o yöne karşılık gelen bir F döndürücü
‫döndürür.
‫Şimdi bir şeyi aklımızda tutmamız gerekiyor.
‫İz vuruş sonucu genellikle yerde olacaktır ve tank taretinden iz vuruş sonucuna
‫giden vektör yere paralel olmayacaktır.
‫Bu, tankın taret dönüşünü bu yön vektöründen elde ettiğimiz döndürücüye ayarlarsak, taretin yere
‫doğru açılı olduğu, ancak tank taretinin aşağı doğru dönmesini istemediğimiz gibi bir şey elde
‫edebileceğimiz anlamına gelir.
‫Hâlâ ileriyi göstermesini istiyoruz.
‫Yani istediğimiz sonuç bu.
‫Başka bir deyişle, tankın taret dönüşünün sadece yea bileşenini değiştirmek istiyoruz.
‫Bu şekilde doğru yöne bakıyor ama yine de yere paralel kalıyor.
‫Sadece sapmasını değiştirdik, bu yüzden VS koduna geri dönelim ve tank taretini döndürmek için bir fonksiyon oluşturalım.
‫Şimdi tank üzerindeki tareti döndüreceğiz, ancak kule düşmanımız üzerindeki tareti de
‫döndürmek istiyoruz ve kule yakında temel pon'dan türetilerek oluşturulacak, yani bir taret döndürme işlevi
‫oluşturursak bunu buraya temel pong sınıfına yerleştirebiliriz.
‫Bu şekilde hem tank hem de kule bu işlevi devralacaktır.
‫Hem kulede hem de tankta kullanmayı planladığımız için bu işlevi korumalı hale getirebiliriz.
‫Bu yüzden korumalı bir bölüm ekleyeceğim ve korumalı bölüme yerleştirdiğimiz tüm fonksiyonlar ve değişkenler
‫bu alt sınıflarda erişilebilir olacak, ancak başka hiçbir sınıfta erişilemeyecek.
‫Yani neredeyse özel değişkenler kadar kısıtlıdır.
‫Artık bu fonksiyon void döndürebilir.
‫Buna döner taret diyeceğim.
‫Ve tareti döndürmek için, bakabileceğim bir hedefe ihtiyacım olacak.
‫Bu bir f vektörü olabilir ve biz buna hedefe bak diyebiliriz.
‫Yani fikir şu ki, dünyada bir tür konum girebileceğimiz bir fonksiyonumuz varsa, fonksiyon taretin
‫o konuma doğru dönmesiyle sonuçlanmalıdır.
‫Şimdi devam edelim ve rotate turret için bir fonksiyon tanımı sağlayalım.
‫Burada, temel piyon CP'de, yapıcının hemen altında, döndürme taretini uygulayacağım.
‫Ve tabii ki burada kapsam çözümleme operatörüyle birlikte bir temel piyon sınıfı adına ihtiyacım var.
‫Şimdi tareti döndürdüğüme göre, bunu nasıl uygulayacağımızı düşünelim.
‫İhtiyacımız olan ilk şey, taret bileşeninden fare imlecinin altındaki iz vuruş sonucuna kadar olan
‫vektörü hedeflemektir.
‫Yani bu, target'a çağrılan yerel bir F vektörü olabilir ve bunu bazı vektör matematiğinin sonucuna eşit olarak ayarlayacağız.
‫Unutmayın, varış noktası eksi başlangıç noktası olacak.
‫Hedef, hedefe bakmaktır ve başlangıç noktası tankın taretinin konumu, diğer bir deyişle
‫taret ağının konumu olacaktır.
‫Böylece taret ağı diyebiliriz ve taret ağı konumunu alabiliriz.
‫Şimdi bir bileşenin dünya konumunu elde etmenin yolu bu get component location fonksiyonunu kullanmaktır.
‫Kullanım sahnesi bileşeni sınıfına aittir.
‫Yani tüm sahne bileşenleri buna sahiptir.
‫Bu yüzden taret ağından bileşen konumunu al diyeceğiz.
‫Yani hedefe bak eksi taret ağı konumu bize taret ağından gözetleme hedefine giden vektörü
‫verir.
‫Şimdi, bahsettiğim gibi, F vektörleri döndürme işlevini kullanarak hedeften hedefe bir EF döndürücü elde edebiliriz.
‫Bu yüzden bir F döndürücü oluşturacağız ve buna rotasyona bak diyebiliriz ve bunu hedef nokta
‫rotasyonuna eşit olarak ayarlayacağız.
‫Bu bir fonksiyon çağrısı.
‫Şimdi bu hedef yön vektörüne karşılık gelen döndürücümüz var.
‫Ama mesele şu ki biz sadece YA'yı önemsiyoruz.
‫Sahayı ya da rolü değiştirmek istemiyoruz.
‫Tareti sadece z ekseni etrafında döndürmek ve yere paralel tutmak istiyoruz.
‫Şimdi bunu birçok şekilde yapabiliriz.
‫Birincisi, rotasyona, atış mesafesine bakabilir ve bunları sıfırlayabiliriz.
‫Başka bir deyişle, sıfıra eşit olarak ayarlayın.
‫Ayrıca rotasyon noktası rolüne de bakabilir ve bunu da sıfırlayabiliriz.
‫Şimdi eğim ve yuvarlanmayı sıfıra ayarladıktan sonra, sadece bileşen olan istediğimiz dönüşe sahibiz.
‫Bunu yapmanın bir yolu da bu.
‫Bir diğeri de F döndürücü kurucu aşırı yüklerinden birini kullanmak olabilir.
‫Parantez içinde f rotator dersek ve ilk değer için sıfır noktası F gibi bazı değerler girersek, açılır pencere bana
‫bu ilk girdinin pitch olduğunu söylüyor.
‫Ve sonra rotasyonu hedeflemek için kullanabileceğimiz ya için.
‫Evet.
‫Ve sonra rol için sıfır nokta F kullanabiliriz.
‫Şimdi bunun yaptığı şey, eğim için sıfır, rol için sıfır ve iki hedef rotasyon tarafından döndürülen döndürücünün
‫bileşeni ile yeni bir F döndürücü oluşturmaktır.
‫Dolayısıyla, bunun döndürdüğü değer bize burada bu üç satırla yaptığımızla aynı sonucu verecektir.
‫Bu biraz daha kompakt ve zarif olduğundan, sanırım bunu kullanmayı tercih edeceğim, böylece F rotator
‫yapıcısını bu şekilde çağırarak döndürülen F rotator ile rotasyon vektörüne bakmayı başlatabiliriz.
‫Bu yüzden buradaki satırı kaldıracağım.
‫Ve şimdi rotasyona bakıyoruz.
‫Şimdi bu işlevde yapılacak son şey, taret püre için dönüşü ayarlamaktır.
‫Şimdi bu fonksiyonu kullanarak belirli bir bileşen için rotasyonu ayarlayabiliriz set world rotation tekrar, sahne bileşenini
‫kullanmaya aittir.
‫Bir tür yerel rotasyon ofseti eklemek yerine kelime rotasyonu ayarını kullanmamızın nedeni,
‫dünya uzayında bir rotasyonumuz olması ve iki hedefin bir dünya uzayı yön vektörü olmasıdır.
‫Dünya uzayındaki taret ağ konumunu alıyoruz ve dünya uzayındaki hedef konuma bakışı çıkarıyoruz.
‫Yani bu bir dünya uzay yönüdür.
‫Bu nedenle rotasyona bakış bir dünya uzayı rotasyonudur.
‫Bu yüzden taret ağında dünya rotasyonunu ayarlamayı kullanacağız.
‫Bu yüzden taret ağı diyeceğiz, dünya rotasyonunu ayarlayacağız ve rotasyona bakmayı geçeceğiz.
‫Artık dünyadaki herhangi bir hedefi alıp taret ağını ona bakacak şekilde döndürebilen bir işlevimiz
‫var, ancak ağı aşağı doğru döndürmeyecek.
‫Sadece sapmasını değiştirecek, yani bir tank taretinin dönmesi gerektiği şekilde dönecek.
‫Artık tareti döndürmek için bir fonksiyonumuz var.
‫Taret rotasyonunu ayarlamak için bu işlevi çağırmanız konusunda sizi zorlayacağım, tank sınıfındaki
‫rotate turret işlevini çağırın.
‫Bu korumalı bir işlevdir.
‫Yani tank sınıfının buna erişimi var.
‫Şimdi döndürme tareti bir F vektörü alır, hedefe bakar, çizgi izimizden F vuruş sonucundaki bu çarpma
‫noktasını kullanacaksınız.
‫Bu yüzden bu fonksiyonu çağırmak için kodda doğru yeri bulmayı size bırakacağım.
‫Bu yüzden videoyu duraklatın ve taret döndürme işlevini yerleştirin.
‫Tank sınıfını çağırın.
‫Tamam.
‫Böylece rotate turret fonksiyonumuz var ve onu çağırmaya hazırız.
‫Tankın içine gireceğim ve işte oyuncu kontrolörü ref için if kontrolünün içindeki tik fonksiyonum.
‫İsabet sonucum var ve imleç altında bir isabet sonucu al çağrıldıktan sonra, isabet sonucu geçerli verilere
‫sahip olacak.
‫Aslında, bu vuruş sonucu etki noktasını kullanıyoruz ve hata ayıklama küresi çiziyoruz.
‫Artık hata ayıklama küresini çizmeme gerek olmadığından, devam edip bunu sileceğim.
‫Ve bunun yerine korumalı fonksiyonumuz rotate turret'i çağıracağım.
‫Ve hedefe bakmak için, isabet sonucu nokta çarpma noktasını geçeceğim.
‫Şimdi her karede tareti vuruş sonucumuzdaki çarpma noktasına doğru döndürüyor olacağız.
‫Şimdi bunu derlemeden önce, artık hata ayıklama yardımcılarını kullanmıyorum, bu yüzden devam edeceğim ve bu başlık dosyasını
‫kaldıracağım.
‫Tamam.
‫Şimdi derlemeye hazırım.
‫Tamam.
‫Editörlüğe geri döndüm.
‫Devam edelim ve oynat tuşuna basıp kontrol edelim.
‫Bu inanılmaz.
‫Hala yuvarlanabiliyorum.
‫Faremi hareket ettirebiliyorum ve fare imlecimi hareket ettirdiğim her yerde taret dönüyor.
‫Yani bu harika.
‫Tamam, bu konuyu kapatmadan önce birkaç konuya değinmek istiyorum.
‫Bunun güzel ve cilalı olmasını ve harika görünmesini istiyorum.
‫Şimdi, ilk sorun fare imlecini tankın merkezine yaklaştırdığımda ve sonra içinden geçtiğimde meydana
‫geliyor.
‫Bir noktada bu rotasyonun çok hızlı bir şekilde kırıldığını göreceksiniz.
‫Ve eğer fareyi gelişigüzel bir şekilde hareket ettirirsek, bu pek de iyi görünmez.
‫Kopuyor.
‫Düzgün hareket edemiyoruz.
‫Yani bu bir sorun.
‫Şimdi, diğer sorun ise, eğer tıklarsam ve yuvarlanırsam ve kenara çıkarsam, fare imlecimi yukarı hareket ettirdiğimde
‫taretimin diğer yöne doğru kaydığını göreceğim.
‫Peki orada neler oluyor?
‫Öğrenelim bakalım.
‫VS Code'a geri döneceğiz ve hata ayıklama alanımı geri almak istiyorum.
‫Tank'a geri döndüğümde, tareti döndürmeden hemen önce tik fonksiyonuna gideceğim ve bir
‫kez daha hata ayıklama küresi çiz diyeceğim.
‫Şimdi dünya için get world'e geçiyorum merkez için hit result dot impact point'e geçiyorum
‫yarıçap için 25 dot kullanacağım F segmentleri 12 olabilir, renk F rengi kırmızı olabilir kalıcı çizgiler false olabilir
‫ve ömür negatif bir olabilir.
‫Yani daha önce yaptığımızın aynısı.
‫Bu yüzden bu bildirimi saklayacağım.
‫Başlık dosyasını oraya geri eklemiyorum ve bunun nedeni hata ayıklama yardımcılarının aslında varsayılan olarak dahil edilmiş olması,
‫yani teknik olarak buna ihtiyacımız yok.
‫Editöre geri dönüp canlı bir kodlama başlangıcı yapacağım ve oynat tuşuna basacağım.
‫Şimdi hata ayıklama alanım var.
‫Şimdi dünyanın kenarına gidelim ve fare imlecini uçuruma düştüğü yere kadar hareket
‫ettireceğim.
‫İşte bu noktada sorun yaşıyoruz.
‫Gördüğünüz gibi, imlecimiz yukarı hareket ettiğinde imlecin altında bir isabet sonucumuz yok çünkü
‫orada isabet sonucu alabileceğimiz bir şey yok.
‫Bu nedenle, etki noktamız tanımlanmamıştır.
‫Yani ihtiyacımız olan şey, bu çizgi izinin çarpacağı bir şey.
‫Şimdi, Unreal Engine'in kullanabileceğimiz birçok aracı var.
‫Yapacağım şey, buradaki açılır menüye tıklamak ve yer aktörümün panelini açmak ve hacimler yazan
‫bu simgeyi seçmek ve bir engelleme hacmi almak.
‫İşte engelleme hacmi.
‫Birini içeri sürükleyeceğim.
‫Şimdi bu engelleme hacmine sahibim.
‫Şimdi varsayılan olarak, engelleme birimlerinin görünmez olması gerekiyor.
‫Bunun ayrıntılar paneline gidip çarpışma kısmına inersem, Çarpışma Ön Ayarlarının Görünmez
‫Duvar olduğunu görüyorum, bu da neredeyse her şeyi engellemesi gerektiğini gösteriyor.
‫Engellemediği tek şey görünürlük kanalı ve çizgi izlememiz görünürlük
‫kanalına karşı izliyor.
‫Dünyamızda görünürlük kanalını engelleyen herhangi bir şey, hat izimiz tarafından vurulacaktır.
‫Ama bu özel cilt öyle olmayacak.
‫Görünmez olması gerekiyordu.
‫Çarpışma ön ayarlarına gidebilir, açılır menüyü açabilir ve özel seçeneğini belirleyebiliriz.
‫Bu, çarpışma tepkisini görünürlük kanalına ayarlayabilmem için bunu değiştirmemize olanak tanıyacak.
‫Bu bir blok.
‫Şimdi görünmez bir birimim var, ancak görünürlük kanalını engelleyecek şekilde ayarlandı, bu da bizimki
‫gibi görünürlük kanalına karşı izlenen çizgi izlerinin ona çarpacağı anlamına geliyor.
‫Yani yapabileceğim şey, bu engelleme hacmini alıp ölçeklendirmek.
‫Duvarın hemen ötesine koyacağım.
‫Aslında, tam buraya duvarın sınırlarına yerleştirebilirim ve duvarla üst üste gelecek
‫şekilde biraz aşağı indireceğim.
‫Böylece burada görünmez bir bariyerimiz olur ve ben de devam edip Y yönünde ölçeklendireceğim.
‫Bu yüzden bunu güzelce büyüteceğim ve burada ortaya yerleştireceğim ve biraz dolgu yapacağım.
‫Ayrıca Z yönünde de ölçeklendireceğim.
‫Şimdi güzel ve büyük ve hat izimiz ona çarpmalı.
‫Öyleyse bu teoriyi test edelim.
‫Görüntü alanına tıklayalım ve duvara çıkalım.
‫Ve eminim ki, çizgi izlememle o engelleme hacmine ulaşıyorum ve taretimin tanımlanmamış bir
‫konuma bakmak için takıldığı sorunu yaşamıyorum.
‫Muhtemelen dünyanın orijinine doğru bakıyor çünkü çarpma noktası vektörünün tamamı sıfır.
‫Şimdi bu duvara çıkarsam, aynı sorunu yaşıyorum.
‫Bu yüzden bu engelleme hacimlerine ihtiyacımız var.
‫Katımızın çevresine.
‫Şimdi, bu oldukça kolay olabilir.
‫Tek yapmam gereken bu engelleme birimini çoğaltmak.
‫Şimdi perspektif görünümden üst ortografik görünüme geçebilirim.
‫Bu yüzden üst kısmı seçeceğim ve fare tekerleğimle dışarı kaydıracağım ve alt tuşuna basılı tutarak bu duvarı çoğaltacağım
‫ve bir tanesini buraya yerleştireceğim ve döndürme moduna geçmek için E tuşuna basabilirim.
‫Bu yüzden alt tuşunu basılı tutup 90 derece döndüreceğim.
‫Bu bana bir kopya verecek ve sonra çift u'ya basacağım ve çeviri modumu çalıştıracağım ve buraya
‫bu tarafa taşıyacağım ve Alt'a basılı tutup bir kopyayı bu tarafa sürükleyeceğim.
‫Şimdi dört duvarımız var.
‫Şimdi üstten görünümden perspektife geri dönüp oynat düğmesine basabilirim ve şimdi bu duvarlardan herhangi
‫birine gidebilirim ve hangi duvarı kapladığım önemli değil, bu yüzden harika görünüyor.
‫Böylece sorunlarımızdan biri halledilmiş oldu.
‫Peki ya diğeri?
‫Fareyi tankımızın yakınında hareket ettirirsek, yine de bu düzensiz davranışa sahip oluruz.
‫Bu yüzden bununla da ilgilenmek istiyorum.
‫Şimdi, bunu halletmenin yolu bu rotasyonu enterpolasyonla yapmaktır.
‫Dolayısıyla, bu rotasyon değerini doğrudan ayarlamak yerine, bu rotasyonu sağladığımız
‫hedefe doğru düzgün bir şekilde taşıyacak bir enterpolasyon fonksiyonu kullanabiliriz.
‫Bakalım nasıl olacak.
‫Şimdi, bu enterpolasyonun tareti döndürme fonksiyonumuzda olmasını istiyorum, böylece tareti döndürmek
‫için temel piyona geri dönebiliriz ve taretin rotasyona bakması için dünya rotasyonumuzu ayarlamak yerine, onu bir enterpolasyon
‫fonksiyonu tarafından döndürülen değere eşit olarak ayarlayabiliriz.
‫Bu yüzden rotasyonu sileceğim, bakacağım ve bunun yerine F matematik kütüphanesinde
‫R inter two adında bir fonksiyon çağıracağız.
‫Şimdi in two, döndürücüler için enterpolasyonu işlemek üzere tasarlanmıştır.
‫Şimdi ilk giriş parametresi akım adı verilen bir const F döndürücü referansıdır.
‫Bu, değiştirmeye çalıştığımız şeyin mevcut değeridir.
‫Değiştirmeye çalıştığımız şey taretlerimizin dönüşüdür ve bunu taret ağımızdan elde edebiliriz.
‫Bu yüzden taret ağı diyeceğiz ve kullanmak istediğimiz fonksiyon bileşen rotasyonunu almaktır.
‫Yani bileşen konumunu almak gibi bir şey, sadece rotasyonu alıyor.
‫Şimdi bir sonraki girdi Target adında bir F döndürücüdür.
‫İşte değer bu.
‫Bu taret ağı dönüşünün sorunsuz bir şekilde yaklaşmak için yorumlanmasını istiyoruz.
‫Rotasyona bakışımız bu şekilde olacak.
‫Bu yüzden rotasyona bakın diyeceğim.
‫Bir sonraki girdi Delta zamanıdır.
‫Bu yüzden Delta zamanının önemini biliyoruz.
‫Bir şeyleri hareket ettiriyor veya döndürüyorsak, bu hareketin kare hızından bağımsız olmasını isteriz.
‫Bunun için Delta zamanı alabiliriz.
‫Basitçe oynanış istatistiklerini ekleyebilirim ve eğer iyi bir hafızanız varsa, eklemenin kismet slash oynanış
‫istatistikleri olduğunu hatırlayacaksınız.
‫Bu yüzden statik fonksiyona erişebilmek, dünya delta saniyelerini alabilmek ve bunun bir dünya bağlamı nesnesi gerektirdiğini
‫hatırlamak için oyun statiğini buraya alacağım.
‫Bu yüzden bunu oraya aktaracağım.
‫Ve son olarak, dahili bir hıza ihtiyacımız var.
‫İç hız değeri ne kadar yüksek olursa, hedefe doğru o kadar hızlı enterpolasyon yaparız.
‫Yani bunu diyelim ki beş F değerine ayarlarsam, oldukça yavaş bir şekilde enterpolasyon yaparız.
‫Bakalım şimdi nasıl görünecek.
‫Tüm bunlar tek bir satırda ve ekrandan akıp gidiyor.
‫Bu yüzden, dünya rotasyonunu ayarlamak için girdiyi aşağıdaki gibi kendi satırına yerleştireceğim.
‫İşte böyle.
‫Ve sonra bu dört girdi parametresine sahip olan yorumlayıcımız da ekrandan çalışır.
‫Bu yüzden her birini kendi satırlarına yerleştireceğim.
‫Bu şekilde, ekranı bu şekilde kaydırmak zorunda kalmadan tüm girdileri görebiliriz.
‫Tamam.
‫Devam edip bunu kaydedeceğim ve canlı kodlamayı başlatacağım.
‫Ve şimdi oynat düğmesine basıp fareyi hareket ettirdiğimde, bu dönüşün gerçekleşmesinin biraz zaman aldığına dikkat edin.
‫Bunun nedeni, hedef rotasyona doğru düzgün bir şekilde enterpolasyon yapıyor olmamızdır.
‫Şimdi, bu harika.
‫Ben de tam bunu istiyordum.
‫Faremi nasıl hareket ettirirsem ettireyim, asla o hızlı, sarsıntılı, düzensiz hareketi elde edemeyeceğim.
‫Şimdi, beş çok yavaş bir internet hızı, ama bunu değiştirebiliriz.
‫Biraz daha hızlandırabiliriz.
‫Bunu 25'e ayarlayacağım, nasıl göründüğüne bakacağım ve devam edip oyununuz için istediğiniz değere karar vermenize
‫izin vereceğim.
‫Bir kez daha canlı kodlamayı başlatıyor ve oynat tuşuna basıyorum.
‫Şimdi oldukça hızlı bir enterpolasyona sahibim, ancak yakalamıyor.
‫Yine de hızlı, ama anlık bir çırpıda değil.
‫Yani böyle bir şey yapmadığımız sürece bunu elde edemeyiz.
‫Çılgınca bir davranış.
‫Ve elbette, daha yavaş bir rotasyon istiyorsanız, şimdi nasıl yapacağınızı biliyorsunuz ve hata ayıklama küresi çekmeyi
‫bitirdik, bu yüzden devam edip bunu kaldıracağım.
‫Tamam.
‫Özetle, taret rotasyonunu ayarladık ve dünyadaki bir noktaya karşılık gelen bir F vektörü
‫olan Hedefe bakışı iletiyoruz.
‫Şu anda sadece trace hit sonucunu kullanıyoruz.
‫Şimdi bu fonksiyonu temel pong sınıfına koyduk ve korumalı hale getirdik, bu da tank sınıfındaki
‫fonksiyonu miras alabileceğimiz anlamına geliyor.
‫Ve base -- temelinde bir kule sınıfı oluşturmaya hazır olduğumuzda, o kule sınıfı bu rotate turret
‫işlevini miras alacak ve biz de onu yeniden kullanabileceğiz.
‫Tek yapmamız gereken geçmek.
‫Target'a yeni bir bakışta, gelecek derslerde temelden türetilmiş bir kule sınıfı oluşturmaya çalışacağız.
‫Yakında görüşürüz.