Χρήση κουμπιών στο περιβάλλον εργασίας χρήστη Unity

Σελίδα ενημέρωση :
Ημερομηνία δημιουργίας σελίδας :

Περιβάλλον επαλήθευσης

παράθυρα
  • Παράθυρα 11
Επεξεργαστής ενότητας
  • 2020.3.25στ1

Προϋποθέσεις για αυτήν τη συμβουλή

Οι ακόλουθες ρυθμίσεις έχουν γίνει εκ των προτέρων ως προϋπόθεση για την εξήγηση αυτών των συμβουλών.

Αρχικά

Ένα κουμπί μπορεί να χρησιμοποιηθεί ως αντικείμενο στο οποίο ο χρήστης κάνει κλικ μόνος του ή μπορεί να χρησιμοποιηθεί για να κάνει μια επιλογή, όπως "ναι" ή "όχι". Εάν θέλετε να γίνετε λίγο πιο περίπλοκοι, μπορείτε να χρησιμοποιήσετε ένα κουμπί ως αντικείμενο για να επιλέξετε ένα στοιχείο λίστας, όπως ένα μενού.

Εκτός από αυτό, μπορεί επίσης να χρησιμοποιηθεί για σκοπούς εντοπισμού σφαλμάτων και όταν κάνετε κλικ σε ένα κουμπί για να αλλάξετε αυθαίρετα την κατάσταση.

Κάντε κλικ στο κουμπί για να αλλάξετε το κείμενο

Εάν απλά κάνετε κλικ στο κουμπί, θα κάνετε κάποια επεξεργασία. Αυτή τη φορά, κάθε φορά που κάνετε κλικ στο κουμπί, ο αριθμός κειμένου θα αυξάνεται κατά 1.

Τοποθέτηση και διαμόρφωση περιβάλλοντος εργασίας χρήστη

Προσθέστε κείμενο και κουμπιά από την ιεραρχία στην προβολή.

Μπορείτε να το τοποθετήσετε οπουδήποτε, αρκεί να το τοποθετήσετε σε ένα μέρος όπου μπορείτε να το δείτε. Δεδομένου ότι είναι δύσκολο να δείτε στην αρχική κατάσταση, ορίζονται ρυθμίσεις όπως "λευκό χρώμα κειμένου", "αλλαγή μεγέθους", "αύξηση μεγέθους γραμματοσειράς" κ.λπ. Το περιεχόμενο του κειμένου θα αλλάξει αυτόματα αργότερα, ώστε να μπορείτε να το αφήσετε ως "Νέο κείμενο".

Η ρύθμιση χαρακτήρων του κουμπιού χωρίζεται σε "Κουμπί" και "Κείμενο", οπότε επιλέξτε Κείμενο και ορίστε το.

Προσθήκη σεναρίων

Επιλέξτε το φάκελο Scenes από το έργο σας, κάντε δεξί κλικ σε έναν κενό χώρο και επιλέξτε C# Script για να τον προσθέσετε. Αρχικά, είναι καλύτερο να δημιουργήσετε το σενάριο σε ξεχωριστό φάκελο, αλλά θα το παραλείψω με σκοπό τον έλεγχο της λειτουργίας.

Το όνομα αρχείου πρέπει να είναι εύκολα κατανοητό. Εισαγάγετε όσο το δυνατόν περισσότερους αλφαριθμητικούς χαρακτήρες. ButtonClick Σε αυτήν την περίπτωση, έχει οριστεί σε .

Μόλις δημιουργηθεί, κάντε διπλό κλικ στο σενάριο C# για να ανοίξετε το πρόγραμμα επεξεργασίας δέσμης ενεργειών. Εάν το πρόγραμμα επεξεργασίας δέσμης ενεργειών είναι το Visual Studio, θα πρέπει να δείτε κάτι σαν αυτό:

Start, Η μέθοδος δεν χρειάζεται αυτή τη φορά, οπότε διαγράψτε την, Update ξαναγράψτε την και αποθηκεύστε την ως εξής.

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# δεν είναι το κύριο θέμα αυτής της συμβουλής, οπότε δεν θα το εξηγήσω. Παρακαλώ μελετήστε μόνοι σας. Συζητούνται μόνο περιγραφές που αφορούν συγκεκριμένα την ενότητα.

MonoBehaviour Τα πεδία που είναι γραμμένα σε από τις οποίες κληρονομούν θα μπορούν να οριστούν στο Unity Editor. CountText Εδώ, ορίζουμε ένα αντικείμενο κειμένου που ονομάζεται Για να εμφανιστεί, public πρέπει να δημοσιευτεί με . SerializeField Ωστόσο, εάν προσθέσετε το χαρακτηριστικό, θα μπορείτε public να το εμφανίσετε στο πρόγραμμα επεξεργασίας με προσβασιμότητα διαφορετική από το . Αυτή είναι μια καλύτερη περιγραφή εάν δεν θέλετε να έχετε πρόσβαση σε αυτό από άλλες όσο το δυνατόν περισσότερο, εκτός από το σκοπό της ρύθμισής του στο πρόγραμμα επεξεργασίας.

OnClick Παρέχονται μέθοδοι για να περιγράψετε τι πρέπει να κάνετε όταν κάνετε κλικ σε ένα κουμπί. public Αυτό πρέπει να οριστεί στο .

Επισύναψη από το Unity Editor

Επιστρέψτε στο Unity Editor και επιλέξτε από την ιεραρχία EventSystem .

EventSystem επιθεωρητής θα εμφανιστεί, οπότε ρίξτε το σενάριο C # που μόλις δημιουργήσατε στην περιοχή "Προσθήκη στοιχείου" παρακάτω. Το σενάριο είναι τώρα έτοιμο να λειτουργήσει.

Στην πραγματικότητα, αυτό το σενάριο μπορεί να επισυναφθεί σε οποιοδήποτε αντικείμενο και Button πρέπει να επισυναφθεί στο αντικείμενο. Σε αυτή τη συμβουλή, θα προσθέσουμε για να γίνει ομοιόμορφα εύκολο να κατανοηθεί EventSystem . Button Φυσικά, δεν υπάρχει πρόβλημα με την επισύναψή του στο . Ωστόσο, είναι προτιμότερο να μην το συνδέσετε σε ένα εντελώς άσχετο αντικείμενο, καθώς θα προκαλέσει σύγχυση.

Αν κοιτάξετε το σενάριο που προσθέσατε, μπορείτε να δείτε ότι εμφανίζεται το στοιχείο "Count Text". Μόλις δημοσιεύσετε ένα πεδίο με αυτόν τον τρόπο, θα μπορείτε να ορίσετε την τιμή από τον Unity Editor. Θέλουμε να έχουμε πρόσβαση στο αντικείμενο κειμένου όταν κάνουμε κλικ στο κουμπί, οπότε σύρετε από την ιεραρχία Text και Count Text αποθέστε το στο . Αυτό θα σας επιτρέψει να έχετε πρόσβαση σε αυτό από το σενάριό σας ανά πάσα στιγμή.

Στη συνέχεια, επιλέξτε από την ιεραρχία Button και κάντε κλικ στο + κάτω από το On Click στο Inspector Button .

Στη συνέχεια, θα προστεθεί ένα στοιχείο.

Στο κάτω δεξιό στοιχείο, έχω ρίξει ένα σενάριο που επισυνάπτεται από την EventSystem ιεραρχία. Δεδομένου ότι πρέπει να βάλουμε το αντικείμενο στο οποίο επισυνάπτεται το σενάριο εδώ, Εάν επισυνάπτετε ένα σενάριο σε ένα κουμπί, πρέπει να συμπεριλάβετε ένα κουμπί.

Εάν κάνετε κλικ στο "No Function", θα εμφανιστεί το συνημμένο σενάριο, οπότε ButtonClick επιλέξτε . Επιλέξτε τη μέθοδο που δημιουργήσατε OnClick σε αυτό. Τώρα, όταν κάνετε κλικ στο κουμπί, καλείται η OnClick μέθοδος.

Αρχείο καταγραφής εξόδου με το πάτημα ενός κουμπιού

Θα εξάγω το αρχείο καταγραφής για να επιβεβαιώσω ότι λειτουργεί. Μπορείτε να ελέγξετε ότι λειτουργεί μόνο γράφοντας μία γραμμή και θα είναι πολύ χρήσιμο για μελλοντικό εντοπισμό σφαλμάτων, οπότε είναι καλύτερα να το θυμάστε.

ButtonClick Ανοίξτε τη δέσμη ενεργειών και OnClick προσθέστε τα ακόλουθα στο .

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

Αφού μπείτε και αποθηκεύσετε, εκτελέστε το παιχνίδι και κάντε κλικ στο κουμπί.

Κάθε φορά που κάνετε κλικ σε αυτό, εμφανίζεται ένα μήνυμα στην καρτέλα της κονσόλας. Τώρα μπορείτε να δείτε ότι λειτουργεί.

Αλλαγή κειμένου με κλικ στο κουμπί

Τώρα που μπορείτε να μετακινήσετε τα κουμπιά, ο σκοπός αυτής της συμβουλής έχει επιτευχθεί. Τώρα που έχω τοποθετήσει το αντικείμενο κειμένου, θέλω να αλλάζω το κείμενο κάθε φορά που κάνω κλικ στο κουμπί.

Ξαναγράψτε το σενάριο ως εξής.

// 省略

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

Το περιεχόμενο είναι απλώς να αυξάνετε τον αριθμό κατά 1 κάθε φορά που κάνετε κλικ και να ορίσετε τον αριθμό στο αντικείμενο κειμένου.

Εκτελέστε το παιχνίδι και βεβαιωθείτε ότι ο αριθμός αυξάνεται με κάθε κλικ.