‫Merhaba ve hoş geldiniz.
‫Bu derste if deyimlerini öğreneceğiz, aslında C++ dallanma deyimleridir ve
‫platformumuzu ileri ve geri göndermek için kullanacağız.
‫Hadi içeri dalalım.
‫Şimdi yorumlarda, çok ileri gittiysek bir şeyler yapmamız gerektiğinden bahsettiğimiz
‫birkaç yer var.
‫Bunu nasıl yapacağız?
‫Daha önce Blueprint'te bunu bir dal düğümü ile yapıyorduk.
‫Şimdi C++'da benzer bir kavram vardır ve buna if deyimi denir.
‫İşte daha önce örnek olarak kullandığımız bir dal düğümü ve bu değişkene sahip olduğumuzu görebilirsiniz,
‫açım diyor, bu bir boolean ve bunu koşula koyabiliriz ve sonra ya doğru bir yürütme dalına ya da yanlış
‫bir yürütme dalına sahip olabiliriz ve kod işlevlerini çalıştırabiliriz.
‫C++'daki Blueprint'teki herhangi bir şey, metinsel olması dışında çok benzerdir.
‫Yani Açım adında bir boolean değişkenimiz var ve sadece if diyebiliriz ve bunun etrafında parantezler
‫olabilir.
‫Ardından, if deyimimizden sonra genellikle bir sonraki satırda bazı küme parantezleri açarız ve ardından bu küme parantezleri
‫içinde, doğru olması durumunda gerçekleşmesi gereken şeyleri çalıştırabiliriz.
‫Yani diyoruz ki, eğer açsam, karım izlemiyorken abur cubur yiyin ve sonra kıvırcık parantezlerimizi
‫kapatıp, tamam, bu şartlı olarak gerçekleşmesi gereken şeylerin sonu diyebiliriz.
‫Ve sonra yanlış bir dal koymak istersek, buradaki yanlışa bir şey bağlamak
‫istersek, o zaman bir else anahtar sözcüğü koyarız ve ikinci bir parantez seti başlatabiliriz.
‫Ve burada video oyunları oynamaya devam edebiliriz ve sonra diş tellerini kapatabiliriz.
‫Şimdi burada bu parantezler arasında istediğimiz kadar satır olabilir.
‫Sadece tek bir satır olması gerekmiyor.
‫Yani isterseniz buraya bir sürü kod ekleyebilir ya da sadece tek bir satıra sahip olabilirsiniz.
‫Ayrıca buradaki değişken, if deyimine bağlanan bir değişken olmak zorunda değildir.
‫Boole döndüren herhangi bir ifade olabilir.
‫Böylece burada biraz fonksiyon çağırma işlemi yapabilirsiniz.
‫Farklı bir sonuç elde etmek için bir operatör kullanabilirsiniz.
‫Yani önümüzde birkaç farklı seçenek var.
‫Ancak tüm bunlardan önce, bu platformun geri dönmeden önce ne kadar ileri gitmesine izin verileceğini yapılandırmamız
‫gerekiyor.
‫Bunu yapmak için de bir U özelliğine ihtiyacımız var.
‫Şu anda mesafemizi görünür bir yere taşıdık.
‫Editörde yapılandırabilmek istediğimiz için herhangi bir yerde düzenleyebileceğiniz yeni
‫bir özellik oluşturalım ve aynı kategorideki hareketli platformu yukarıdan aşağıya ve aşağıdan yukarıya
‫kullanacağım.
‫Burada float türünde olacak çünkü bir mesafe olacak ve ona varsayılan bir değer
‫verebilmek için hareket mesafesi adını vereceğim.
‫Varsayılan olarak 100 birim vereceğim, ancak daha sonra bunu geçersiz kılabilir,
‫editörde değiştirebilir ve ardından bunu C++ dosyasında kullanabiliriz.
‫Bunu yapmamızın yolu, değişken mesafemizi zaten taşımış olmamızdır.
‫Aslında artık bunu gözlemleyememek istiyorum.
‫Bu yüzden başlık dosyasından visible anywhere özelliğini ve distance moved değişkenini kaldıracağım.
‫Sonra C++'a geri döneceğim ve bunun yerine yerel bir değişken olarak bildirmemiz gerekecek.
‫Bunu değiştirmenin kolay yolu, distance move'un önüne bir float yapıştırmaktır, bu da temelde onu tam burada tick'in içinde
‫yerel bir değişken olarak bildirir, bu da onu her kullandığımızda tamamen taze olduğunu bildiğimiz
‫anlamına gelir.
‫Eğer çok ileri gittiysek şimdi yönümüzü tersine çevirmemiz gerekiyor.
‫Bunu yapabilmemizin yolu, geçmişte blueprint'te düğümler olarak gördüğümüz less than veya equal veya equal to veya greater
‫than operatörlerini kullanabilmemizdir.
‫Ancak şimdi bunları artı veya çarpma işlemlerinde olduğu gibi operatör olarak kullanabiliriz.
‫Bunu yapabilmemizin yolu da, tamam, mesafeyi kaydırdık demek.
‫Bu, hareket mesafesinden daha mı büyük?
‫Bu yüzden büyüktür sembolünü kullanabiliriz, bu da sağdaki Chevron'dur.
‫Ve sonra hareket mesafesini koyabiliriz ve ben buna hareket mesafesi demiş gibi görünüyorum, ama bence hareket mesafesi
‫olmalı.
‫Yani yanlışlıkla fazladan bir D koymuşum.
‫Bunu başlık dosyasından kaldıralım ve buradaki ifadenin bir boolean döndürdüğünü görüyorsunuz, böylece
‫bunu if deyimimizin içinde kullanabiliriz.
‫Yani yapabileceğimiz şey, if boşluk açık parantez diyebiliriz ve sonra bu ifadeyi kesip bu parantezlerin içine
‫yapıştıracağım.
‫Yani, taşınan mesafe hareket mesafesinden büyükse, esasen yönü tersine çevirmek istediğimizi
‫söylüyor.
‫İşte bu yorumu bunun için yapıyoruz.
‫Hareket yönünü tersine çevirmek ve hareket yönünü tersine çevirmek istiyoruz.
‫Bir platform hızımız var.
‫Bu yüzden platform hızını kendisinin negatifine ayarlayalım, temelde yönünü tersine çevirelim.
‫Yani platform hızı eşittir.
‫Negatif platform hızı.
‫Bu da temelde hızın okunu tersine çevirecektir.
‫Bu satırın sonuna noktalı virgül koyacağım ve bakalım bu if deyimi gerçekten istediğimiz gibi
‫çalışacak mı?
‫Editöre gidelim ve derle düğmesine basalım.
‫Ve şimdi bu başarıyla tamamlandığına göre, devam edip oynat düğmesine basabilir ve neler olduğunu görebiliriz.
‫Bu yüzden şu anda olduğu gibi ileri ve geri gitmesini bekliyorum ve bu oldukça iyi.
‫Şimdi, aslında olan şey, başlangıç noktasının biraz ötesine geçiyor.
‫Bunun sebebi.
‫Eğer bir göz atacak olursak, başlangıç noktamız bu olacaktır.
‫Oynat tuşuna basıp oyuncumun durduğu aynı açıdan yana bakarsam, başlangıç
‫noktasından her yöne aynı mesafede gittiğini görebilirsiniz.
‫Bunun nedeni, burada hesaplanan şeye baktığımızda, taşınan mesafenin asla değişmeyen bir başlangıç
‫konumundan olmasıdır.
‫Başlangıç konumunu asla güncellemiyoruz, bu yüzden negatif yönde ilerliyoruz.
‫Daha sonra diğer yöne gittiğimiz miktar kadar yanından geçeceğiz.
‫Yani platformumun bu şekilde çalışmasını istemiyorum.
‫Bu yüzden başlangıç konumunuzu güncellemeniz için size meydan okuyacağım.
‫Bunu if deyiminin içinde yapacağız.
‫Yani bu sadece seyahatimizin sonuna ulaştığımızda gerçekleşecek ve onu mevcut konuma ayarlayacaksınız,
‫böylece temel olarak başlangıç noktamızı diğer tarafa sıfırlayacağız ve sonra ters yönde seyahat edebiliriz.
‫Bu yüzden sonuçları test edin ve beklediğiniz gibi çalışıp çalışmadığını görün.
‫Videoyu duraklatın ve deneyin.
‫Tamam.
‫Tekrar hoş geldiniz.
‫Yani burada hızı tersine çevirdikten sonra yapacağız, aslında sonra ya da önce olması fark
‫etmez çünkü birbirleri üzerinde bir etkileri yoktur.
‫Başlangıç konumunu mevcut konuma eşit olarak ayarlayacağız, bu da aslında bir sonraki karede taşınan mesafenin sıfır olacağı
‫anlamına geliyor çünkü başlangıç konumu ile kendisi arasındaki mesafenin
‫sıfır olacağını biliyoruz.
‫Unreal'a geri dönelim, derleme düğmesine basalım.
‫Ve bu bittiğinde, oynat düğmesine basalım ve şimdi ne olacağını görelim.
‫Bu yüzden bunun bir ileri bir geri gitmesini bekliyorum.
‫Al bakalım.
‫Yaklaşık aynı miktarda birim her zaman başlangıç konumuna geri dönüyor, daha geriye gitmiyor,
‫ki bu harika bir şey.
‫Tam da olmasını istediğim şey.
‫Bu derste bunu yapmak için if deyimlerimizi ve Boolean ifadelerimizi nasıl kullanacağımızı öğrendik
‫ve platformumuzu ileri geri göndermemize izin verdik.
‫Harika bir şey.
‫Bir sonraki derste görüşürüz.