‫Hey, tekrar hoş geldin.
‫Son videoda, C++ değişkenlerimizi belirli şekillerde planlardaki ayrıntılar paneline göstermemizi
‫sağlayan birkaç yeni özellik belirtici öğrendik.
‫Bu videoda, bu değişkenlere erişim üzerinde daha fazla kontrol sahibi olmamızı sağlayan bazı belirleyicileri
‫öğreneceğiz.
‫Ayrıntılar panelinde, belirli bir C++ değişkeni için gerçek olay grafiğinde okuma veya yazma
‫erişimine nasıl izin verebileceğimizden de bahsedeceğiz.
‫Öyleyse hemen başlayalım.
‫Tamam.
‫VS koduna geri döndüm ve işte son videoda oluşturduğumuz değişkenler.
‫İşte benim hız değişkenim.
‫Bu meydan okuma içindi.
‫Muhtemelen farklı bir değişken yarattınız, ki bu tamamen normaldir, bu değişkeni orada tutun.
‫Bu videoda onunla birkaç şey daha yapacağız.
‫Artık bir değişkeni herhangi bir yerde görünür hale getirebileceğimizi öğrendik ve herhangi bir yer derken, ayrıntılar
‫panelinde, bir örnekte veya varsayılan blueprint'te demek istiyoruz.
‫Ayrıca herhangi bir yerde düzenleme yapabileceğimizi ve yalnızca görünür örnek kullandığımızda yalnızca bir örnek üzerinde görünür
‫olduğunu gördük.
‫Varsayılan planda bile göremezsiniz ve her durumda, gri renkte olduğu için düzenleyemezsiniz.
‫Böylece değişkenimizi yalnızca örnek üzerinde görünür hale getirebiliriz.
‫Peki ya sadece varsayılan plan üzerinde görünür olmasını istersek?
‫Bunun için de bir spesifikasyon var.
‫32'de bir tane daha yapalım ve buna visible defaults only int diyelim.
‫Ve bunu bir değerle başlatabiliriz.
‫Ben beş vereceğim ve biz de buna U özelliği vereceğiz.
‫Belirtilenler ise bunu yalnızca varsayılanlarda görünür kılmak içindir.
‫Muhtemelen ne olduğunu tahmin edebilirsiniz.
‫Yalnızca görünür varsayılanlar.
‫Şimdi bunu derleyeceğim ve burada editörde BP Pond Tank'ı tekrar açacağım.
‫BP Pond Tank kendi kendini seçtiği için tüm değişkenlerimiz burada en üstte yer alıyor, bu yüzden arama
‫yapmayacağım.
‫Ancak burada görünür varsayılanlarımız yalnızca int ve beş değerine sahip ve elbette adından da anlaşılacağı gibi şimdi
‫gri renkte, yalnızca varsayılanda görülebilir.
‫Dolayısıyla, dünyaya girip burada BP gölet tankı örneklerinden birini seçersem, görünür varsayılanlar yoktur,
‫yalnızca int örnekte görünmez, yalnızca varsayılanda görünür.
‫Yani bu şu anda mantıklı.
‫VS koduna geri dönelim ve öğrenmemiz gereken birkaç belirleyici daha var.
‫Artık her yerde düzenleme yapabileceğimizi ve görünür belirteçlerimizle yalnızca örnek veya yalnızca varsayılan
‫seçebileceğimizi gördük.
‫Muhtemelen tahmin ettiğiniz gibi, istersek yalnızca örnek üzerinde veya yalnızca varsayılanlar üzerinde düzenleme yapabiliriz.
‫O zaman 30 ikide birkaç tane daha yapalım.
‫Edit defaults only int adında bir tane oluşturacağım ve bunu dokuz gibi bir değere başlatacağım ve ardından
‫edit instance only int adında başka bir int 32 oluşturacağım.
‫Ve buna 14 değerini vereceğim.
‫Bu nedenle, yalnızca varsayılanları düzenle öğesinin yalnızca varsayılanlar üzerinde düzenlenebilir olmasını ve yalnızca örneği düzenle öğesinin yalnızca örnek
‫üzerinde düzenlenebilir olmasını istiyoruz.
‫Şimdi bu belirticilerin isimleri oldukça tutarlı, bu yüzden bu iki erişim seviyesi için belirticilerin
‫ne olacağını tahmin etmenizi istiyorum.
‫Devam edin ve hızlıca küçük bir meydan okuma yapın.
‫Videoyu durdurun ve bunları doldurun, doğru olup olmadığına bakın.
‫Tamam, bunlar sizin özellikleriniz olacak ve varsayılanları düzenleyeceksiniz.
‫Muhtemelen tahmin ettiğiniz gibi sadece son olacak.
‫Yalnızca varsayılanları düzenleyin ve yalnızca int örneğini düzenlemek için buna bir u özelliği makrosu vereceğim ve bu yalnızca
‫düzenleme örneği olacaktır.
‫Yani oldukça sezgisel.
‫Devam edip bunları derleyelim ve burada BP -- tank açıkken düzenleyiciye geri dönelim işte varsayılanları
‫düzenle sadece int örneğini görmüyoruz ve bunu beklemiyorduk burada dokuz olarak ayarlanmış bunu değiştirebiliriz
‫ve örneklerimizden biri seçiliyken dünyaya gidersek sadece int örneğini düzenle seçeneğini görebiliriz ve tabii
‫ki bu da düzenlenebilir.
‫Şimdi burada grafiğimize üç yeni belirleyici ekledik.
‫Yalnızca varsayılan sütununda ve salt okunur satırında görünür varsayılanlarımız vardır.
‫Ve sonra kendi satırlarında yalnızca varsayılanları düzenle ve yalnızca örneği düzenle seçeneklerine sahibiz.
‫Bu grafiği oldukça hızlı bir şekilde dolduruyoruz, ancak sağ tarafta ve olay grafiği
‫sütununda birkaç boş alan olduğunu fark edeceksiniz.
‫Şimdi bir dakikalığına bunlardan bahsedelim.
‫Burada BP Pond Tank'tayım ve spesifikasyonlarına bağlı olarak detaylara, panellere maruz bıraktığımız tüm bu
‫değişkenlere sahibiz.
‫Onları burada veya bir örnek üzerinde görebilirsiniz.
‫Ama olay grafiğinde buraya sağ tıklarsam ne olur?
‫Olay grafiği, değişkenlere erişebileceğimiz ve potansiyel olarak onları değiştirebileceğimiz başka bir yerdir.
‫Yani herhangi bir yere düzenle yazarsam, düzenlemeyi hiçbir yerde göremiyorum.
‫INT olay grafiğine maruz kalmaz.
‫Buna erişimimiz yok.
‫Burada olay grafiğinde bir şeyleri açığa çıkarmamıza olanak tanıyan ve ayrıntılar paneli erişilebilirliğini
‫kontrol eden belirleyicilerle birlikte çalışabilen başka bir belirleyici daha vardır.
‫Ve bu değişkenlerden birini olay grafiğine göstermek istiyorum.
‫Şimdi, bunlardan herhangi birini seçebilirdim, ama ben bu görünür yeri seçeceğim.
‫INT Şimdi U.
‫Özellik makrosu birden fazla girdi alabilir, bu nedenle her yerde görülebilir.
‫Buna hâlâ sahip olabiliriz.
‫Bir virgül koyacağım ve olay grafiğine bu görünür herhangi bir yerdeki son pozu verecek başka
‫bir belirtilen eklemek istiyorum.
‫Yani kullanacağım şey blueprint okuma, yazma, blueprint okuma.
‫Yazmanın olay grafiği ile ilgisi vardır.
‫Ayrıntılar paneli üzerindeki kontrolle hiçbir ilgisi yoktur.
‫Bu görünür yer bunun için var.
‫Yani Blueprint Rewrite, adından da anlaşılacağı gibi, okuma erişimi ve yazma erişimi yapar.
‫Bakalım nasıl görünecek.
‫Bunu derleyelim ve sağ tıklayıp herhangi bir yerde görünür yazarsam olay grafiğindeki düzenleyiciye geri
‫dönüyorum.
‫get visible anywhere int ve set visible anywhere olmak üzere iki farklı seçenek göreceğiz.
‫INT Eğer seçerseniz, herhangi bir yerde görünür olun.
‫INT Bir düğüm elde ederiz ve bu tıpkı diğer blueprint düğümleri gibidir, C++ değişkenini temsil eder ve bunun
‫üzerinden sürüklersek, onunla bir şeyler yapmak için bu değere erişebiliriz.
‫Şimdi dışarı kaydıracağım ve bu gri düğümlere sahip olduğumuzu göreceksiniz aktör başlar, örtüşür
‫ve olay kenesi ve Oyuna Başla bildiğiniz gibi oyunun başında çağrılır.
‫Yani burada bir şeyler yapabiliriz.
‫Bir print string düğümü kullanmak istiyorum ve eğer sürükleyip print string yazarsam, işte burada.
‫Bu bir blueprint fonksiyon düğümüdür ve string olarak adlandırılan bir girdi alır.
‫Şimdi üzerine gelirsem, dizede ve hemen altında dizede yazıyor.
‫Bu düğümün girdi parametresi olarak kabul ettiği türdür.
‫Ve görünür herhangi bir yerdeki int değerimizin bir dize değil, bir int 32 olduğunu biliyoruz.
‫Ancak bu notun çıktısına tıklar ve farenin sol tuşunu bırakmadan önce sürükleyip buraya yapıştırırsanız, tamsayıyı
‫dizeye dönüştür yazan bir açılır pencere görürsünüz ve bırakırsanız, tamsayıdan dize türüne dönüştüren
‫bu kullanışlı dönüştürme düğümünü elde edersiniz, bu bizim için çok kullanışlıdır çünkü bir tamsayıyı
‫dizeye nasıl dönüştüreceğimizi bulmak zorunda değiliz.
‫Bu bizim için otomatik.
‫Şimdi, oynat tuşuna basarsam, 12 değerinin üç kez basıldığını ve sadece birkaç saniye sürdüğünü göreceğiz.
‫Bu print string'in davranışıdır.
‫Şimdi, bunu üç kez görmemizin nedeni, dünyada üç farklı BP gölet tankı örneğine sahip
‫olmam.
‫Kaç tanesini dünyaya getirdiğinize bağlı olarak, o kadarını göreceksiniz.
‫Çünkü bu münferit örneklerin her biri için, oyunun başında oyuna başlama çağrısı yapılıyor.
‫Bu yüzden karışıklığı önlemek için diğer ikisini sileceğim ve dünyada sadece tek bir Beep
‫Pond Tank örneği bırakacağım.
‫Bu yüzden sadece bir tane var ve gidip tekrar oynat tuşuna bastığımda ekrana sadece bir kez 12 basıldığını görüyorum.
‫Yani bu, herhangi bir yerdeki görünür int'e okuma erişimidir, ancak yazma erişimimiz olduğunu da gördük.
‫Bu, olay grafiğinde değerini buradan ayarlayabileceğimiz anlamına gelir.
‫Dolayısıyla, sağ tıklayıp tekrar visible anywhere int yazarsam, set visible anywhere int öğesini seçebilirim ve
‫değeri başka bir düğümden aktarabileceğimiz bir girdi alan bir setter düğümüm olur ya da bu küçük metin kutusunu
‫alıp değeri sabit olarak kodlayabiliriz, örneğin 66.
‫Ve şimdi begin play'den gelen yürütme akışı bu düğüme ulaşır ulaşmaz, setter düğümü
‫herhangi bir yerde visible'a yazacak ve değerini 66 olarak ayarlayacaktır.
‫Ve tabii ki bunu tekrar yazdırabiliriz.
‫Bu yüzden print string kullanacağım.
‫Ve print string'e aktarılan değer için, herhangi bir yerdeki görünür int değerini istiyorum.
‫Şimdi bunu iki şekilde yapabilirim.
‫Setter'ın bir dönüş düğümü vardır, bu nedenle değeri ayarladıktan sonra bu değeri döndürür ve biz de bunu kullanabiliriz,
‫böylece doğrudan dize yazdırmaya takabiliriz.
‫Diğer yol ise sağ tıklayıp get düğümünü kullanarak herhangi bir yerde görünür hale getirmektir ve bu düğümden
‫gelen değeri doğrudan aynı şeyi yapacak olan print string'e bağlayabiliriz.
‫Yani buna ihtiyacım yok.
‫O düğümü sileceğim.
‫Ve şimdi oyunu oynadığımda görmeyi beklediğim şey, önce 12'den başlayan int değerinin herhangi bir yerdeki
‫görünür değerini yazdırmak ve ardından değerini 66'ya ayarladıktan sonra 66 değerinin ekrana yazdırıldığını görmeliyim.
‫Oynat tuşuna basalım ve 12 ile 66'yı görelim.
‫Şimdi ters sırada gibi görünüyorlar.
‫Bunun nedeni, print string'in yeni mesajları en üste eklemesidir.
‫Yani bu normal bir davranış.
‫Tamam, harika.
‫Böylece şu anda bir değişken planını okutabileceğimizi gördük.
‫Bunu olay grafiğinden ayarlayıp ayarlayamayacağımızı da kontrol edebiliriz.
‫Öyleyse başka bir değişkeni açığa çıkaralım, böylece blueprint'lerden alabilelim ama burada herhangi bir yerde düzenleyemeyiz.
‫INT Bir virgül ekleyeceğim ve olay grafiğinde buna erişmek ancak ayarlayamamak veya yazamamak için
‫şimdi buna bir belirtilen ekleyeceğim.
‫Belirtme saati yalnızca plan okunurdur, bu nedenle int herhangi bir yeri düzenlemek artık yalnızca plan okunurdur.
‫Hem varsayılan hem de örneklerde ayrıntılar panelinde hala düzenlenebilir, ancak olay grafiğinde yalnızca
‫okunabilir.
‫Şimdi devam edip bunu derleyelim ve burada editörde, olay grafiğine sağ tıklayıp herhangi
‫bir yeri düzenle yazacağım ve kontrol edeceğim.
‫Get edit anywhere end'imiz var ancak set edit anywhere int'imiz yok çünkü blueprint
‫read only, ona yazamıyoruz.
‫Bu yüzden onu seçeceğim.
‫Her yerde düzenleme var.
‫INT Ve eğer istersem değerini görmek için bir print string düğümü kullanabilirim.
‫Bunu yapmana gerek yok.
‫Bunu nasıl yapacağımızı zaten biliyoruz.
‫Sadece bu değişkene yazamayacağımızı gösteriyorum.
‫Tamam, şimdi devam edip bu düğümleri vurgulayacağım ve sileceğim.
‫Böylece grafiğimiz artık doldu.
‫Değişkenlerimizi yalnızca varsayılanlarda görünür hale getirebileceğimizi ve bunları yalnızca varsayılanlarda veya yalnızca
‫örnekte düzenlenebilir hale getirebileceğimizi öğrendik.
‫Yani C++ tarafında gerçekten tam kontrole sahibiz.
‫Şimdi de bu değişkenleri olay grafiğine maruz bırakabileceğimizi ve bu blueprint read only, blueprint read write belirticilerini
‫kullanarak bunları salt okunur veya doğrudan okunur hale getirebileceğimizi gördük.
‫Şimdi bir meydan okumayla karşı karşıyasınız.
‫Son derste bir değişken yarattık.
‫Bir şamandıra yaptım ve ona hız adını verdim.
‫Şimdi bu değişkeni alacaksınız.
‫Bunu son bölümde oluşturursunuz ve olay grafiğinde erişimini kontrol edersiniz.
‫Öğrendiğiniz yeni belirticilerden birini kullanarak bunu olay grafiğine gösterin ve ardından bunun
‫için okuma yazma erişimini test edeceksiniz.
‫Değerini görebilmeniz ve değiştirirseniz değiştirdiğinizi kendinize kanıtlayabilmeniz için bir print string
‫düğümü kullanın.
‫Dolayısıyla, değişken planınızın doğru okunmasını sağlarsanız, bir set düğümü ile değiştirmeyi deneyin ve ardından olay başlatma
‫oyununu kullanarak değerini görmek için bir print string düğümü kullanın.
‫Eğer blueprint'i sadece okunabilir yaptıysanız, print string kullanarak değeri alabilir ve yazdırabilirsiniz.
‫Bu nedenle, özel değişkeninize doğru belirtimi ekleyin ve olay grafiğinde erişimi test etmek için print string'i kullanın.
‫Videoyu duraklatın ve bunu deneyin.
‫Tamam.
‫Burada hız değişkenime gideceğim ve hız değişkenim herhangi bir yerde düzenle olacak ve bunun plan okuma
‫olmasını istiyorum.
‫Doğru, bu yüzden olay grafiği içinden değiştirebilirim.
‫Bu yüzden blueprint ekleyeceğim, okuyacağım, yazacağım ve basitçe derleyeceğim.
‫BP havuz tankına geri dönersek, şimdi speed yazarsam bunun için getter ve setter'ı görüyorum.
‫Bu yüzden hız ayarını kullanacağım.
‫Değerini Oynatmaya Başla'dan ayarlayacağım.
‫Hadi şunu bağlayalım.
‫Ve değer için 900 gireceğim ve set notundan sürüklersem print string yazabilirim.
‫Şimdi çıktı düğümüne tıklayıp sürükleyeceğim ve onu string'e bağlayacağım.
‫Oynat tuşuna bastığımda 900 yazıyor, dikkat edin 900 yazıyor. 0.
‫Çünkü bu bir şamandıra.
‫Bu yüzden bana ilk ondalık noktayı gösterme nezaketini gösteriyor.
‫Bu da güzel bir yerleşik özellik sayılır.
‫Hız değişkenim için ondalık noktanın sağında bir basamak gösteriyor.
‫Özet olarak, yeni özellik makrosu için birkaç belirleyici daha öğrendik.
‫Yalnızca görünür varsayılanlar, yalnızca varsayılanları düzenle ve yalnızca örneği düzenle seçeneklerini öğrendik.
‫Ayrıca Blueprint, read, write ve Blueprint Read ile olay grafiğinde okuma yazma erişimini nasıl kontrol edebileceğimizi
‫öğrendik.
‫Yalnızca C++ programcısının planlarda nelerin gösterileceği ve nelerin değiştirilebileceği üzerinde büyük
‫bir kontrolü vardır ve bunları kursun bu bölümünde kullanacağız.
‫Ve bir unreal motor geliştiricisi olarak kariyeriniz boyunca bunları kullanmaya devam edeceksiniz.
‫Bir sonraki derste görüşürüz.