Unity kullanıcı arabiriminde düğmeleri kullanma
Doğrulama ortamı
- Windows
-
- pencereler 11
- Unity Düzenleyicisi
-
- 2020.3.25f1
Bu ipucu için önkoşullar
Bu ipuçlarının açıklanması için ön koşul olarak aşağıdaki ayarlar önceden yapılmıştır.
İlk başta
Düğme, kullanıcının kendi başına tıkladığı bir nesne olarak kullanılabilir veya "evet" veya "hayır" gibi bir seçim yapmak için kullanılabilir. Biraz daha ayrıntılı olmak isterseniz, menü gibi bir liste öğesini seçmek için bir düğmeyi nesne olarak kullanabilirsiniz.
Buna ek olarak, hata ayıklama amacıyla ve durumu keyfi olarak değiştirmek için bir düğmeye tıklandığında da kullanılabilir.
Metni değiştirmek için düğmeye tıklayın
Sadece düğmeye tıklarsanız, bazı işlemler yapacaksınız. Bu sefer, düğmeye her tıkladığınızda, metin numarası 1 artacaktır.
Kullanıcı Arayüzü Yerleşimi ve Yapılandırması
Hiyerarşiden görünüme metin ve düğmeler ekleyin.
Görebileceğiniz bir yere koyduğunuz sürece istediğiniz yere yerleştirebilirsiniz. Başlangıç durumunda görmek zor olduğu için "beyaz metin rengi", "boyutu değiştir", "yazı tipi boyutunu büyüt" vb. ayarlar yapılır. Metnin içeriği daha sonra otomatik olarak değiştirilecektir, böylece onu "Yeni Metin" olarak bırakabilirsiniz.
Düğmenin karakter ayarı "Düğme" ve "Metin" olarak ayrılmıştır, bu nedenle Metin'i seçin ve ayarlayın.
Komut Dosyası Ekleme
Projenizden Sahneler klasörünü seçin, boş bir alana sağ tıklayın ve eklemek için C# Betiği'ni seçin. Başlangıçta, komut dosyasını ayrı bir klasörde oluşturmak daha iyidir, ancak işlemi kontrol etmek amacıyla bunu atlayacağım.
Dosya adının anlaşılması kolay olmalıdır. Mümkün olduğunca çok sayıda alfasayısal karakter girin.
ButtonClick
Bu durumda, olarak ayarlanır.
Oluşturulduktan sonra, betik düzenleyicisini açmak için C# betiğine çift tıklayın. Betik düzenleyiciniz Visual Studio ise şuna benzer bir şey görmeniz gerekir:
Start
, Bu sefer yönteme gerek yok, bu yüzden silin, Update
yeniden yazın ve aşağıdaki gibi kaydedin.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // 追加
public class ButtonClick : MonoBehaviour
{
<summary>カウントアップするテキストオブジェクト。</summary>
[SerializeField] Text CountText;
public void OnClick()
{
}
}
C# sözdizimi bu ipucunun ana konusu değil, bu yüzden açıklamayacağım. Lütfen kendi başınıza çalışın. Yalnızca Unity'ye özgü açıklamalar ele alınmıştır.
MonoBehaviour
'den devralınan sınıflarda yazılan alanlar Unity Düzenleyicisi'nde ayarlanabilir.
CountText
Burada, adında bir metin nesnesi tanımlıyoruz.
Görüntülenebilmesi public
için ile yayınlanması gerekir.
SerializeField
Ancak, özniteliği eklerseniz, public
düzenleyicide dışında bir erişilebilirlikle görüntüleyebilirsiniz.
Düzenleyicide kurma amacı dışında mümkün olduğunca diğer sınıflardan erişmek istemiyorsanız, bu daha iyi bir açıklamadır.
OnClick
Bir düğmeye tıklandığında ne yapılacağını açıklamak için yöntemler sağlanmıştır.
public
Bu, içinde tanımlanmalıdır.
Unity Düzenleyicisi'nden ekleme
Unity Düzenleyicisi'ne dönün ve hiyerarşiden EventSystem
seçim yapın.
EventSystem
denetçi görünecektir, bu nedenle az önce oluşturduğunuz C# betiğini aşağıdaki "Bileşen Ekle" alanına bırakın.
Komut dosyası artık çalışmaya hazırdır.
Aslında, bu komut dosyası herhangi bir nesneye eklenebilir ve Button
nesneye eklenmelidir.
Bu ipucunda, tek tip bir şekilde kolay anlaşılmasını EventSystem
sağlamak için ekleyeceğiz.
Button
Tabii ki, onu takmakta bir sorun yok. Bununla birlikte, karışıklığa neden olacağından, tamamen ilgisiz bir nesneye eklememek daha iyidir.
Eklediğiniz komut dosyasına bakarsanız, "Metin Say" öğesinin görüntülendiğini görebilirsiniz.
Bir alanı bu şekilde yayınladıktan sonra, değeri Unity Düzenleyicisi'nden ayarlayabilirsiniz.
Butona tıkladığımızda metin nesnesine erişmek istiyoruz, bu yüzden hiyerarşiden Text
Count Text
sürükleyip üzerine bırakın.
Bu, istediğiniz zaman komut dosyanızdan erişmenize izin verecektir.
Ardından, hiyerarşiden Button
seçim yapın ve Denetçide Button
Tıklandığında'nın altındaki + simgesine tıklayın.
Sonra bir öğe eklenecektir.
Sağ alt öğede, hiyerarşiden EventSystem
eklenmiş bir komut dosyası bıraktım.
Script'in eklendiği nesneyi buraya koymamız gerektiğinden,
Bir Button'a komut dosyası ekliyorsanız, bir Button eklemeniz gerekir.
"İşlev Yok"a tıklarsanız, ekteki komut dosyası görüntülenecektir, bu nedenle ButtonClick
öğesini seçin.
İçinde oluşturduğunuz OnClick
yöntemi seçin.
Şimdi düğmeye tıkladığınızda, OnClick
yöntem çağrılır.
Bir düğmeye tıklayarak çıktı günlüğü
Çalıştığını onaylamak için günlüğün çıktısını alacağım. Sadece bir satır yazarak çalışıp çalışmadığını kontrol edebilirsiniz ve gelecekteki hata ayıklama için çok yararlı olacaktır, bu yüzden hatırlamak daha iyidir.
ButtonClick
Komut dosyasını açın ve OnClick
öğesine aşağıdakileri ekleyin.
public void OnClick()
{
// コンソール ログを出力
Debug.Log("ボタンが押されました!");
}
Girip kaydettikten sonra oyunu çalıştırın ve butona tıklayın.
Üzerine her tıkladığınızda, konsol sekmesinde bir mesaj belirir. Şimdi çalıştığını görebilirsiniz.
Bir düğme tıklamasıyla metni değiştirin
Artık düğmeleri hareket ettirebildiğinize göre, bu ipucunun amacına ulaşıldı. Artık metin nesnesini yerleştirdiğime göre, düğmeye her tıkladığımda metni değiştirmek istiyorum.
Komut dosyasını aşağıdaki gibi yeniden yazın.
// 省略
public class ButtonClick : MonoBehaviour
{
<summary>カウントアップするテキストオブジェクト。</summary>
[SerializeField] Text CountText;
<summary>クリックカウント。</summary>
private int _counter = 0;
public void OnClick()
{
// コンソール ログを出力
Debug.Log("ボタンが押されました!");
// カウントを増やす
_counter++;
// カウントした数を表示する
CountText.text = _counter.ToString();
}
}
İçerik, her tıklattığınızda sayıyı 1 artırmak ve sayıyı metin nesnesine ayarlamaktır.
Oyunu çalıştırın ve her tıklamada sayının arttığından emin olun.