ToText(Int) ve ToText(Double) dönüştürme fonksiyonlarını kullanarak bir widget’a tamsayı veya kayan sayı değişkenleri ilet. “ToText” dönüştürme fonksiyonları, Tamsayı veya Kayan Sayı türündeki bir değişkeni, widget’ında görüntüleyebileceğin bir Metin türüne dönüştürür. Bir değişken, metin olmayan bir tür olarak kalırsa widget’ında görüntülenmeyecektir.
Dönüştürme fonksiyonuna Editörde Metne (Çift Duyarlıklı) yerine Metne (Çift Duyarlıklı) adı verilir, ancak bu ikisi aynı amaca hizmet ederler.
Aşağıda, her iki dönüştürme fonksiyonunun kullanımını gösteren iki örnek verilmiştir.
Metne (Tamsayı) örneği: Özel bir Takip cihazı widget’ı, bir oyuncu, eline bir miktar pastırma aldığında o oyuncunun ilerlemesini takip eder.
Metne (Çift Duyarlıklı) örneği: Özel bir açılır diyalog widget’ı, bir bilgi yarışması sorusunun olası yanıtlarını içeren bir açılır pencere açar. Süre dolmadan önce bir yanıt seçilmemişse süreölçeri kapatmak için bir geri sayım süreölçeri kullanılır.
Metne (Tamsayı)
Bu örnekte, oyuncunun ne kadar pastırma topladığını takip etmek için özel bir Takip cihazı widget’ı oluşturulmuştur. Bir Kullanıcı Widget’ı oluşturmak için Kullanıcı Arayüzü Açılır Pencereleri belgesindeki adımları izle ve oluşturduğun kullanıcı widget’ını Tracker_Widget olarak adlandır.
Widget Kurulumu
Tracker_Widget’ı ayarlamak için aşağıdaki widget’ları aşağıda verilen sırayla Hiyerarşi paneline ekle:
Katman
Görsel (Katman altına yerleştir ve Arka Plan olarak yeniden adlandır.)
Yığın Kutusu (Katman altına yerleştir.)
Metin Bloku (İlk Yığın Kutusu’nun altına yerleştir ve Başlık olarak yeniden adlandır. Bu senin “{Tracker Title}” Takip cihazı başlığındır.)
Yığın Kutusu (İlk Yığın Kutusu’nun altına yerleştir.)
2 adet Metin Bloku (İkinci Yığın Kutusu’nun altına yerleştir. İlk metin blokunu CurrentValue “{Current}” olarak, ikinci metin blokunu ise Tat Metni “Toplanan Pastırma” olarak yeniden adlandır.)
Oyuncunun topladığı geçerli pastırma sayısını alan bir metin blokuna ihtiyacın vardır. Tracker_Widget, bir TrackerTitle metin bloku içerecek şekilde ayarlanır; böylece Ad özelliği, ViewModel’dan Geçerli metin blokuna geçebilir:
Aynısını kullanarak widget’ını ayarla
Oyuncu oyunda pastırma toplarken bunu görür:
Dönüştürme Fonksiyonu Ayarı
Metne (Tamsayı) dönüştürme fonksiyonu, geçerli pastırma miktarını CurrentValue metin bloku aracılığıyla Takip cihazına iletmek için kullanılır.
Metne (Tamsayı) dönüştürme fonksiyonlarını ayarlamak için görünüm bağlamaları oluştur ve widget’ta ayarladığın değerleri Takip cihazına bağla.
Pencere > Görünüm Bağlamaları kısmını aç.
Widget’ında CurrentValue metin blokunu seç ve Görünüm Bağlamaları penceresinde +Widget Ekle’ye tıkla.
Görünüm bağlamasının soldaki kutusunda CurrentValue > Metin’i seç. Bu işlem, Metin’in CurrentValue metin blokunun Metin özelliğine geçeceği anlamına gelir.
Sağdaki kutuda alana tıkla ve Dönüştürme Fonksiyonları > Metne (Tamsayı)’yi seç. CurrentValue metin blokunun bağlamasında birkaç alan görünür.
Her alanın ne işe yaradığı konusunda daha fazla bilgi edinmek için Metne (Tamsayı/Çift Duyarlıklı) Özellikleri kısmına bakabilirsin.
Bu işlem sonucunda, bir değeri alan ve onu CurrentValue metin blokunun Metin özelliğine iletmek üzere Metin türünde bir değişken döndüren Metne (Tamsayı) adlı bir dönüştürme fonksiyonu çalışır.
Değer’in yanındaki zincir simgesini seç ve MVVM_UEFN_Tracker > Değer seçimini yap.
Takip cihazı ViewModel’ındaki Değer değişkeni, Metne (Tamsayı) dönüştürme fonksiyonuna geçer. Böylece Değer değişkeni bir Metin özelliği olarak yazılır, ardından bu özellik, CurrentValue metin blokunun Metin özelliğine iletilir.
Sonuç
Yeni widget’ını kullanmak için projene bir Takip cihazı sürükle, ardından aşağıdakileri yap:
Takip cihazının Ayrıntılar panelinde Gösterge Paneli Widget’ı alanını Track_Widget’ın olarak ayarla.
Takip cihazı, puan istatistiklerinin takip edilmesinde ve bölümündeki toplanabilir objeler kullanılarak bu işlevselliğin test edilmesinde kullanılabilir.
Oyuncu oyun içinde her pastırma topladığında, takip cihazı her pastırma için ayarlanan puan değerine göre otomatik olarak artış gösterir.
Metne (Çift Duyarlıklı)
Bu örnekte, Trivia_Widget adında özel bir Açılır Diyalog widget’ı oluşturmak için Kullanıcı Arayüzü Açılır Pencereleri belgesindeki Modal İletişim Kutusu Varyantı iş akışını kullan. Trivia_Widget, Fortnite’taki, süre sınırı dolmadan önce yanıtlanması gereken bilgi yarışması sorularını görüntüler.
Widget Kurulumu
İçerik Tarayıcısı’nda sağ tıklayarak Bağlam Menüsü’nü aç.
Bağlam Menüsü’nden Kullanıcı Arayüzü > Widget Blueprint > Modal İletişim Kutusu Varyantı’nı seç.
Widget’ını aç ve aşağıdaki kapsayıcıları, görselde gösterilen sırayla Hiyerarşi paneline ekle:
Katman
Görsel
3 adet Yığın Kutusu
Bir Katman, üst kapsayıcı olarak widget’ın tamamını barındırır. Ardından, arka plan için bir Görsel widget’ı ve son olarak metinlerin ve düğmelerin gibi tüm içerikleri barındırması için birden fazla iç içe Yığın Kutusu kullan.
Yığın kutularına aşağıda gösterildiği gibi metin blokları ve düğmeler ekle.
TimeLeft ve TimeFlavorText metin bloklarını, TimeLeft’in, Açılır Diyalog ViewModel’ındaki Zaman Aşımı İçin Kalan Süre değişkenine yönelik bir görünüm bağlaması aracılığıyla dinamik olarak güncellenmesi için bir Yığın Kutusu içine sarmala.
Düğmeleri 2x2 boyutunda bir ızgara olarak ekle. Düğmeler 2x2 boyutunda bir ızgara şeklinde olduğundan Yığın Kutusu yerine Tek Biçimli Izgara Paneli kullan. Container_Buttons üzerinde sağ tıkla ve Şununla Değiştir… > Tek Biçimli Izgara Paneli’ni seç.
Tek Biçimli Izgara Paneli, alt widget’larını bir ızgara deseni halinde kolayca düzenlemene olanak tanır. Ayrıca her bir alt öğe için yuva dolgusunu da kolayca ayarlayabilirsin.
Ana Tasarımcı Görünümü’nde düğmeyi vurgulamak için Hiyerarşi’de her düğmeyi ayrı olarak seç.
Ana Tasarımcı Görünümü’nde, düğmeyi çevreleyen oklara tıklayarak düğmeyi, olmasını istediğin yerdeki belirli bir satır veya sütuna taşı.
Aşağıdaki örnekte düğmeler soldan sağa ve yukarıdan aşağıya olacak şekilde düzenlenmiştir. Düğmeler, Button1, Button2, Button3 ve Button4 olarak yeniden adlandırılmıştır.
Ayrıntılar Paneli’nde, Container_Buttons için Alt Dizilim > Yuva Dolgusu’nu 16 piksel olarak ayarla.
Bu değeri kendi tasarımın için uygun gördüğün şekilde değiştir.
İçerik Yığın Kutusu içine daha sonra Kapat düğmesi olarak kullanmak üzere bir Sessiz Düğme ekle.
İçerikleri daha okunaklı hale getirmek için kapsayıcıların arasına biraz aralık oluşturucu ekle. Bunu, boşlukların olmasını istediğin yere bir Görsel widget’ı ekleyerek yapabilirsin. Ardından Ayrıntılar panelinde aşağıdaki seçenekleri kullan:
Fırça > Farklı Çiz = Hiçbiri
Görsel Boyutu (X ve Y değerleri) = 35 (Tasarımına bağlı olarak daha fazla veya daha az olabilir.)
Bu, dolguya bağlı kalmadan kullanıcı arayüzü öğeleri arasındaki boşlukları üzerinde çalışmanın kolayca yönetilebilir bir yoludur.
Her düğmeyi kolayca tanımlamak için Düğme metnini düzenle.
Fortnite > Kullanıcı Arayüzü klasörlerini aç ve bilgi yarışması açılır penceren için bir arka plan materyali oluşturmak üzere M_UI_Rectangle’ın materyal örneğini oluştur.
UMG’den kullanıcı widget’ını açıp Arka plan görseli widget’ını seç, ardından Fırça > Görsel alanında az önce oluşturduğun materyal örneğini seç.
Açılır pencereyi daha okunaklı hale getirmek için İçerik Yığın Kutusu’na 32 piksel boyutunda dolgu ekle.
Dönüştürme Fonksiyonu Ayarı
Düğme yanıtlarının bağlanmasına bu dokümantasyonda yer verilmeyecektir. Bunun yerine eğitim, TimeLeft metninin, Zaman Aşımı için Kalan Süre’ye ilişkin Kayan Sayı değişkenine bağlanmasıyla ilgilidir.
Pencere > Görünüm Bağlamaları kısmını aç.
Hiyerarşi panelinde TimeLeft metin bloku widget’ını seç. Görünüm Bağlamaları penceresinde +Widget Ekle’ye tıkla.
Soldaki kutuda TimeLeft > Metin’i seç. Bu işlem, TimeLeft’in Metin özelliğine bir tür değer iletir.
Sağdaki kutuda CreativeModalDialogViewmodel > Zaman Aşımı İçin Kalan Süre’yi seç. Ardından Dönüştürme Fonksiyonları > Metne (Çift Duyarlıklı)’yi seç.
Değişkenin üzerine gelindiğinde bu değerin tek duyarlıklı bir değer olduğu görülür. Metne (Çift Duyarlıklı) dönüştürme fonksiyonu, çift duyarlıklı/tek duyarlıklı bir değeri bir Metin değişkenine dönüştürmen için sana bir yol sağlar ve bunu kullanıcı arayüzünde görüntüler.
Görünüm Bağlamaları penceresinde birkaç alan görünür.
Bu alanlar hakkında daha fazla bilgi için belgenin Metne (Tamsayı / Çift Duyarlıklı) Özellikleri bölümüne bakabilirsin.
Değer’in yanındaki zincir simgesine tıkla ve CreativeModalDialogViewmodel > Zaman Aşımı İçin Kalan Süre > Seç’i seç.
Zaman Aşımı İçin Kalan Süre değişkeni, tek duyarlıklı değeri kullanıcı arayüzün tarafından okunabilir bir metin biçiminde yazan Metne (Çift Duyarlıklı) dönüştürme fonksiyonuna iletilir. Kullanıcı arayüzün, Açılır Diyalog widget’ının kapanması için kalan süreyi doğru şekilde gösterir.
Sonuç
Projene bir Açılır Diyalog cihazı sürükle ve aşağıdakileri yap:
Açılır Diyalog cihazında Şablon Geçersiz Kılma Sınıfı’nı oluşturduğun Trivia_Widget olarak ayarla.
Diyalog Zaman Aşımını Kullan’ı işaretle.
Zaman Aşımı Süresi’ni 6 saniye olarak veya oyunculara açılır pencereyi görüp okumaları için yeterli zaman vereceğini düşündüğün herhangi bir süre olarak ayarla.
Artık açılır diyalog widget’ın göründüğünde, açılır pencerenin içinde süreölçerin her saniyede süreyi azalttığını görebilirsin.
Metne (Tamsayı/Çift Duyarlıklı) Özellikleri
Metne (Tamsayı) dönüştürme fonksiyonunda kullanılabilir birkaç alan vardır. Metne (Çift Duyarlıklı), aksi belirtilmediği sürece aynı alanları paylaşır:
Değer: Dönüştürme fonksiyonuna iletilecek tamsayı değişkeni.
Her Zaman İşaret: Metin çıktısının önekine, değerin pozitif mi yoksa negatif mi olduğunu gösteren bir pozitif veya negatif işaret ekler. Değer pozitifse metni +{Value} olarak yazar. Negatifse metni -{Value} olarak yazar.
Gruplandırma Kullan: Değerlerin birlikte gruplandırılıp, ancak değer 1000’in üzerinde olduğunda ayrılıp ayrılmayacağını belirler. Bu özellik, gruplandırma göstergesi için bilgisayarındaki kültüre duyarlı ayarı kullanacaktır. Açıksa metni 1.000 olarak yazar. Kapalıysa metni 1000 olarak yazar.
Minimum İntegral Basamak: Metinde gösterilecek minimum tamsayı basamağı sayısı. Varsayılan değer 1’dir. Minimum, 1’in üzerinde olacak şekilde ayarlanırsa basamak sayısı minimum integral basamak sayısından az olan tamsayılar için 0’lar görüntülenecektir. Örneğin, minimum integral basamağı 3 olarak ayarlanmışsa ve Değer o sırada 5 ise metin 005 olarak yazılır.
Maksimum İntegral Basamak: Metinde gösterilecek maksimum tamsayı basamağı sayısı. Varsayılan değer 354’tür. Bu özellik, metnini yalnızca maksimum bir sayıda basamak gösterecek şekilde kısıtlar.
Minimum Kesir Basamağı (yalnızca Metne (Çift Duyarlıklı) için): Ondalık noktadan sonra gösterilecek minimum basamak sayısı. Varsayılan değer 0’dır.
Maksimum Kesir Basamağı (yalnızca Metne (Çift Duyarlıklı) için): Ondalık noktadan sonra gösterilecek maksimum basamak sayısı. Varsayılan değer 3’tür.
Yuvarlama Modu (yalnızca Metne (Çift Duyarlıklı) için): Tek/Çift duyarlıklı değerin en yakın üst sayıya nasıl yuvarlanacağını belirler.
| Tür | Açıklama | Örnek |
|---|---|---|
Yarımdan Çifte | En yakın yere yuvarlar; eşit uzaklıktaki bağlar bir çift sayıya en yakın olan değere gider. | 1,5, 2 olur, 0,5 ise 0 olur. |
Sıfırdan Yarıma | En yakın yere yuvarlar; eşit uzaklıktaki bağlar sıfırdan daha uzak olan değere gider. | -0,5, -1,0 olur, 0,5 ise 1,0 olur. |
Yarımdan Sıfıra | En yakın yere yuvarlar; eşit uzaklıktaki bağlar sıfıra daha yakın olan değere gider. | -0,5, 0 olur, 0,5 de 0 olur. |
Sıfırdan | Sıfırdan daha uzak ve mutlak değer olarak “daha büyük” olan değere yuvarlar. | 0,1, 1 olur, -0,1 ise -1 olur. |
Sıfıra | Sıfıra daha yakın ve mutlak değer olarak “daha küçük” olan değere yuvarlar. | 0,1, 0 olur, -0,1 de 0 olur. |
Negatif Sonsuzluğa | Daha negatif olan değere yuvarlar. | 0,1, 0 olur, -0,1 ise -1 olur. |
Pozitif Sonsuzluğa | Daha pozitif olan değere yuvarlar. | 0,1, 1 olur, -0,1 ise 0 olur. |