Unity-käyttöliittymän painikkeiden käyttäminen

Sivu päivitetty :
Sivun luontipäivämäärä :

Varmennusympäristö

Windows
  • Windows 11
Unity-editori
  • 2020.3.25F1

Tämän vinkin edellytykset

Seuraavat asetukset on tehty etukäteen edellytyksenä näiden vinkkien selittämiselle.

Alun perin

Painiketta voidaan käyttää objektina, jota käyttäjä napsauttaa yksin, tai sitä voidaan käyttää valinnan tekemiseen, kuten "kyllä" tai "ei". Jos haluat saada hieman lisätietoja, voit käyttää painiketta objektina valitaksesi luettelokohteen, kuten valikon.

Tämän lisäksi sitä voidaan käyttää myös virheenkorjaustarkoituksiin ja napsauttamalla painiketta muuttaaksesi tilaa mielivaltaisesti.

Napsauta painiketta muuttaaksesi tekstiä

Jos napsautat vain painiketta, teet jonkin verran käsittelyä. Tällä kertaa joka kerta, kun napsautat painiketta, tekstinumero kasvaa 1: llä.

Käyttöliittymän sijoittelu ja määritys

Lisää näkymään tekstiä ja painikkeita hierarkiasta.

Voit sijoittaa sen mihin tahansa, kunhan laitat sen paikkaan, jossa näet sen. Koska alkutilassa on vaikea nähdä, asetetaan asetukset, kuten "valkoisen tekstin väri", "muuta kokoa", "lisää fonttikokoa" jne. Tekstin sisältö muuttuu automaattisesti myöhemmin, joten voit jättää sen "uudeksi tekstiksi".

Painikkeen merkkiasetus on jaettu "Painike" ja "Teksti", joten valitse Teksti ja aseta se.

Komentosarjojen lisääminen

Valitse Scenes-kansio projektistasi, napsauta hiiren kakkospainikkeella tyhjää tilaa ja lisää se valitsemalla C# Script. Alun perin on parempi luoda komentosarja erilliseen kansioon, mutta jätän sen pois toiminnan tarkistamiseksi.

Tiedostonimen tulee olla helposti ymmärrettävä. Kirjoita mahdollisimman monta aakkosnumeerista merkkiä. ButtonClick Tässä tapauksessa sen arvoksi on määritetty .

Kun olet luonut, kaksoisnapsauta C#-komentosarjaa avataksesi komentosarjaeditorin. Jos komentosarjaeditorisi on Visual Studio, sinun pitäisi nähdä jotain tällaista:

Start, Menetelmää ei tarvita tällä kertaa, joten poista se, Update kirjoita se uudelleen ja tallenna se seuraavasti.

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 #: n syntaksi ei ole tämän vinkin pääaihe, joten en selitä sitä. Ole hyvä ja opiskele itse. Vain yhtenäisyyskohtaisista kuvauksista keskustellaan.

MonoBehaviour Kentät, jotka on kirjoitettu luokkiin, jotka periytyvät, voidaan määrittää yhtenäisyyseditorissa. CountText Tässä määritellään tekstiobjekti nimeltä Jotta se voidaan näyttää, se public on julkaistava . SerializeField Jos kuitenkin lisäät määritteen, public voit näyttää sen editorissa muulla helppokäyttövoimalla kuin . Tämä on parempi kuvaus, jos et halua käyttää sitä muista luokista mahdollisimman paljon muuten kuin sen asettamiseksi editoriin.

OnClick Annetaan menetelmiä kuvaamaan, mitä tehdä, kun painiketta napsautetaan. public Tämä on määriteltävä kohdassa .

Liittäminen Unity Editorista

Palaa Unity-editoriin ja valitse hierarkiasta EventSystem .

EventSystem inspektori tulee näkyviin, joten pudota juuri luomasi C # -komentosarja alla olevalle Lisää komponentti -alueelle. Käsikirjoitus on nyt valmis toimimaan.

Itse asiassa tämä komentosarja voidaan liittää mihin tahansa objektiin, ja Button se tulisi liittää objektiin. Tässä vinkissä lisäämme tehdä siitä tasaisen helppo ymmärtää EventSystem . Button Tietenkään ei ole mitään ongelmaa liittää se . On kuitenkin parempi olla kiinnittämättä sitä täysin etuyhteydettömään esineeseen, koska se aiheuttaa sekaannusta.

Jos tarkastelet lisäämääsi komentosarjaa, näet, että kohta "Laske teksti" tulee näkyviin. Kun olet julkaissut kentän tällä tavalla, voit asettaa arvon Unity-editorissa. Haluamme käyttää tekstiobjektia, kun napsautamme painiketta, joten vedä hierarkiasta Text ja Count Text pudota se . Tämän avulla voit käyttää sitä komentosarjastasi milloin tahansa.

Valitse seuraavaksi hierarkiasta Button ja napsauta + kohdassa Napsauta inspektorin Button .

Sitten lisätään yksi kohde.

Oikeassa alakulmassa olen pudottanut hierarkiasta liitetyn komentosarjan EventSystem . Koska meidän täytyy laittaa objekti, johon komentosarja on liitetty tähän, Jos liität komentosarjan painikkeeseen, sinun on sisällytettävä painike.

Jos napsautat "Ei toimintoa", liitteenä oleva komentosarja tulee näkyviin, joten ButtonClick valitse . Valitse siinä luomasi OnClick menetelmä. Nyt kun napsautat painiketta, OnClick menetelmää kutsutaan.

Tulostusloki napin painalluksella

Lähetän lokin vahvistaakseni, että se toimii. Voit tarkistaa, että se toimii vain kirjoittamalla yhden rivin, ja se on erittäin hyödyllinen tulevaa virheenkorjausta varten, joten on parempi muistaa se.

ButtonClick Avaa komentosarja ja OnClick lisää seuraava .

public void OnClick()
{
  // コンソール ログを出力
  Debug.Log("ボタンが押されました!");
}

Kun olet syöttänyt ja tallentanut, suorita peli ja napsauta painiketta.

Joka kerta kun napsautat sitä, konsolin välilehdelle tulee viesti. Nyt voit nähdä, että se toimii.

Tekstin muuttaminen painikkeen klikkauksella

Nyt kun voit siirtää painikkeita, tämän kärjen tarkoitus on saavutettu. Nyt kun olen sijoittanut tekstiobjektin, haluan muuttaa tekstiä aina, kun napsautan painiketta.

Kirjoita komentosarja uudelleen seuraavasti.

// 省略

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();
  }
}

Sisältö on yksinkertaisesti lisätä määrää 1: llä joka kerta, kun napsautat ja asetat numeron tekstiobjektiin.

Suorita peli ja varmista, että numero kasvaa jokaisella napsautuksella.