‫Merhaba ve hoş geldiniz.
‫Bu derste, C++'da dizeleri kullanarak günlük mesajlarımıza nasıl dinamik metin ekleyebileceğimizi
‫inceleyeceğiz.
‫Şimdi dizeler ve C++ hakkında bilgi edinmeye başlayalım.
‫UI günlüğümüzden bazı basit şeyleri nasıl yazdıracağımızı gördük, ancak daha fazla
‫metin, örneğin aktör adı gibi bir şey veya hatta bir vektörün metinsel temsili gibi daha
‫karmaşık bir şey yazdırmak istersek ne olur?
‫Biçim belirleyicileri bize C++'a kıyasla çok basit bir programlama dili olan C çağından
‫geldiği için bu dillerde genellikle biçim belirleyicileri bulunmaz.
‫Bu yüzden bazı şeyler o zamanlar düşünülmemişti.
‫Dolayısıyla, vektörler gibi şeyler bizim formatta belirttiğimiz şekilde dahil edilmeyecektir.
‫Bu yüzden bunu yapmak için dizeleri kullanma eğilimindeyiz.
‫Ve geçmişte de söylediğimiz gibi, dizeler sadece metin değişkenleridir.
‫Bunlar metin içeren değişkenlerdir, böylece dizeleri bildirebiliriz.
‫C++'da daha önce vektör kullandığımız yerlerde F vektörleri kullandık.
‫Burada, bir dizeye sahip olabilmek için dizenin türü olarak F dizesini kullanacağız.
‫Ve şimdilik değişken adı olarak sadece dizemi koyacağım.
‫Peki bir dize değerini nasıl ayarlarız?
‫Bunu zaten burada biraz gördük.
‫Bu çift tırnak işaretleri C++'da bir dize değerini belirtir.
‫Dolayısıyla, buradaki tüm bu ifadeler, başlık dosyasında da çift tırnak işaretlerinin
‫bulunduğu ve bir dize ifadesi olan kategori için çift tırnak işaretlerinin bulunduğu yer.
‫Yapabileceğimiz şey, my string değişkenini buradan ayarlamaktır ve sadece bize bir fikir vermek için my string değerini
‫söyleyeceğim ve satırın sonuna noktalı virgül koyacağım ve sonra bunu bir günlük deyiminde nasıl
‫gösterebiliriz?
‫Bu yüzden, günlüğe argüman olarak taşıma mesafesini buradan kaldıracağım ve günlük
‫mesajındaki metni, işte iki nokta üst üste dizim diyecek şekilde değiştireceğim.
‫Ve sonra F belirtmek yerine, yazdırmak istediğimiz dizeyi belirtmek için bu kez yüzde SSE kullanıyoruz.
‫Ve sonra yine bu iki parantez arasında E log fonksiyonuna aktardığımız argüman benim
‫dizem olacak.
‫Şimdi ne yazık ki bu kendi kendine çalışsaydı harika olurdu.
‫Ancak ne yazık ki Unreal'da YUI günlüğüne argüman olarak basit bir dizeyi kabul etmeyecekleri için
‫burada biraz karmaşıklık var.
‫Burada biraz dönüştürme operatörüne ihtiyaç vardır ve bunu yapmanın yolu my dizesinin
‫önüne bir yıldız işareti koymaktır ve bu onu bir F dizesinden U günlüğünde dahili olarak
‫aradığı biçime dönüştürür.
‫Bunu neden yaptığına dair çok fazla ayrıntıya girmemize gerek yok.
‫Bu, şu anda bilmemiz gereken seviyenin ötesinde.
‫Bunu öğrenmenin önemli olduğunu düşünüyorum çünkü yüzde se yaptığımızda, f tellerimizin önünde her
‫zaman bir yıldıza ihtiyacımız var.
‫Şimdi Unreal'a gidip derleme düğmesine basarak bunun işe yarayıp yaramadığını görelim.
‫Ve sonra canlı kodlamayı kapatacağız, oynat düğmesine basacağız, çıktı günlüğünü açacağız ve işte,
‫işte benim dizem, benim dize değerim.
‫Yani benim dizemdeki değeri yazdırıyor.
‫Ama açıkçası yazdığım bu kod parçası pek de kullanışlı değil çünkü bu dizeyi buraya
‫da yazabilirdim.
‫Neden bu ikame işiyle uğraşıyorsunuz?
‫İşin daha ilginç hale geldiği nokta, bu değişkene dinamik bir değer koyduğumuz yerdir.
‫Böylece bir isim bulabilir ve bunu arayabiliriz.
‫Burada, hareketli platform aktöründe bulunan ve seviye çıkış astarında gördüğümüz aktörün adını
‫alan bir işlev var, bunu değişkene koyabiliriz.
‫Dizem yerine bu değişken adını çağıracağım ve adını burada US günlüğünde de değiştireceğim.
‫Böylece günlük mesajının metnini iki nokta üst üste oynamaya başla şeklinde değiştirebiliriz ve bu da aktörün
‫adı olacaktır.
‫Şimdi unreal'a geri dönelim, oynatmayı durduralım, derle'ye basalım, devam edelim ve oynat'a basalım ve çıktı günlüğünü
‫açalım ve begin play moving platform one begin play moving mesajlarını aldığımızı görebilirsiniz.
‫Platform üç itiyor.
‫Kub üç itiyor, beş tutuyor, itiyor, yedi tutuyor.
‫Yani oyunda büyük bir rolümüz ve farklı aktörlerin isimleri var.
‫Şimdi bu çok faydalı olabilir çünkü daha sonra aşma mesafemizi yazdırdığımızda,
‫bu durumda kimin aştığı her zaman net değildir çünkü hepsi birbirine karışıyor.
‫Bu nedenle, günlük mesajını üreten aktörün adını yazdırabilmek, bir sorunun nerede olduğunu belirlemede
‫gerçekten yardımcı olabilir.
‫Oluyor.
‫Bu nedenle, kimin ne kadar aştığını görebilmemiz için bu aşım günlüğüne isim yazmanızı
‫rica ediyorum.
‫Böylece, Oyuna Başla'da yaptığımız gibi aktörün adını işaretlemek için bir değişken ekleyeceksiniz.
‫İçine isim alacaksınız ve bu aşımı yazdırdığımız günlük mesajınıza istediğiniz yerde
‫belirtildiği gibi bir yüzde ekleyeceksiniz ve bu isim için bir argüman ekleyeceksiniz.
‫Değişkenler listesinde hala overshoot değişkenini istiyoruz, ancak sonuçta bundan önce,
‫isim için de argüman koymanız gerekecek.
‫Ve argüman sırasının mesajınızdaki belirteçlerin sırası ile eşleştiğini duymak önemlidir.
‫Yani yüzde f'den önce yüzde koyarsanız, sıralama böyle olur.
‫İsim aşımdan önce gelmeli ya da diğerini yaptıysanız tam tersini yapmalısınız.
‫Ayrıca, dizeyi günlüğünüzün kullanabileceği bir şeye dönüştürmek için değişken adınızın önüne
‫yıldız eklemeyi unutmayın.
‫Videoyu duraklatın ve deneyin.
‫Tamam.
‫Tekrar hoş geldiniz.
‫Bu yüzden bir değişken alarak başlayacağız ve bu kesinlikle gerekli değil, ancak sadece basitlik adına değişkeni
‫kullanacağız ve bu satırı biraz daha kısa tutacağız.
‫Bu yüzden, genellikle değişken adlarımızı başlatmak için büyük harfler kullanarak name adında bir F dizemiz olacak.
‫Bu değişkene bir get name yapacağız ve sonra onu bir argüman olarak kullanacağız.
‫Ama formatımı nereye koyacağım, günlük mesajında mı belirteceğim?
‫Bunun bu şeyden gelen bir günlük mesajı olduğunu açıkça belirtmek için bunu günlük mesajımdaki
‫ilk şey olarak koyacağım.
‫Bu yüzden yüzde s'yi ilk sıraya koyacağım ve bu da benim argümanımın aşım argümanından önce gelmesi gerektiği anlamına
‫geliyor.
‫Bu yüzden isimlerini alacağız, buraya koyacağız ve uygun şekilde dönüştürmek için ismin önüne
‫bir yıldız işareti koymamız gerekiyor.
‫Şimdi düzenleyiciye geri dönelim.
‫Oynatmayı durdurun, yeniden derle düğmesine basın, terminali kapatın, oynat düğmesine basın ve çıktı günlüğünü açın.
‫Ve tik mesajlarımızın gelmeye başladığını görebilirsiniz.
‫İtme ve küp bir itme ve q11 ile aşıldı.
‫Burada daha önce yapamadığımız bir sonuca varabileceğimizi görebilirsiniz; daha hızlı hareket
‫eden platformlar, iten küpler daha fazla aşan küplerdir, oysa hareketli platformlar daha
‫az aşıyor gibi görünmektedir, ki bu benim beklediğim şeydir.
‫Ancak bunun kayıtlarda teyit edildiğini görmek güzel.
‫Harika bir şey.
‫Küçük ağaç kesme gezintimiz bu kadar.
‫Umarım bunu ilginç bulmuşsunuzdur ve bir sonraki derste görüşmek üzere.