Unity kullanıcı arabiriminde düğmeleri kullanma

Sayfa güncel :
Sayfa oluşturma tarihi :

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.