Κυκλική εναλλαγή μεταξύ της επιλογής αντικειμένων περιβάλλοντος εργασίας χρήστη

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

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

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

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

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

αναφορά

Ανάπτυξη δειγμάτων αντικειμένων περιβάλλοντος εργασίας χρήστη

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

Μπορείτε να επιλέξετε μόνο αντικείμενα που βρίσκονται στην επιλεγμένη κατεύθυνση.

Όταν τοποθετείτε ένα αντικείμενο περιβάλλοντος εργασίας χρήστη, μπορείτε αρχικά να πατήσετε τα πλήκτρα βέλους σε ένα πληκτρολόγιο ή gamepad για να επιλέξετε το αντικείμενο περιβάλλοντος εργασίας χρήστη προς την καθορισμένη κατεύθυνση. Αυτό είναι πολύ διαισθητικό και κατανοητό, οπότε δεν νομίζω ότι χρειάζεται να μπείτε στον κόπο να αλλάξετε τις ρυθμίσεις.

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

Στο παραπάνω σχήμα, δεν μπορείτε να επιλέξετε Κουμπί1 πατώντας προς τα κάτω ενώ είναι επιλεγμένο το Κουμπί3. Φυσικά, εάν πατήσετε ενώ είναι επιλεγμένο το κουμπί 1, δεν θα μπορείτε να επιλέξετε το κουμπί 3.

Κυκλική εναλλαγή επιλογών

Εδώ, θα δημιουργήσουμε έναν μηχανισμό που σας επιτρέπει να κάνετε βρόχο στις επιλογές ατελείωτα. Στο δείγμα διάταξης, μπορείτε να επιλέξετε Κουμπί1 πατώντας προς τα κάτω ενώ είναι επιλεγμένο το Κουμπί3 και μπορείτε να επιλέξετε Κουμπί3 πατώντας προς τα επάνω ενώ είναι επιλεγμένο το Κουμπί1.

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

  • Μπορείτε να μετακινηθείτε πάνω και κάτω μόνο προς μία κατεύθυνση.
  • Ισχύει για όλα τα Selectable υπάρχοντα κάτω από το καθορισμένο αντικείμενο

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

Δημιουργήστε μια δέσμη ενεργειών στο έργο σας. Μπορείτε να το ονομάσετε οτιδήποτε, αλλά θα SelectLoop το αφήσω ως .

Το σενάριο μοιάζει με αυτό:

using UnityEngine;
using UnityEngine.UI;  // 追加

public class SelectLoop : MonoBehaviour
{
  // 最初のフレーム更新の前に開始が呼び出されます
  void Start()
  {
    // ボタンなど選択可能なコンポーネントを取得する
    var selects = GetComponentsInChildren<Selectable>();
    for (var i = 0; i < selects.Length; i++)
    {
      var nav = selects[i].navigation;
      nav.mode = Navigation.Mode.Explicit;
      nav.selectOnUp = selects[i == 0 ? selects.Length - 1 : i - 1];
      nav.selectOnDown = selects[(i + 1) % selects.Length];
      selects[i].navigation = nav;
    }
  }

  // 更新はフレームごとに1回呼び出されます
  void Update() { }
}

Αυτό που κάνουμε είναι να κάνουμε τις ακόλουθες ρυθμίσεις για τη συμπεριφορά navigation επιλογής κλειδιού .

  • Πατήστε το πλήκτρο επάνω για να επιλέξετε το προηγούμενο αντικείμενο και επιλέξτε το τελευταίο αντικείμενο για να επιλέξετε το πρώτο αντικείμενο.
  • Πατήστε το πλήκτρο κάτω για να επιλέξετε το επόμενο αντικείμενο ή επιλέξτε το πρώτο αντικείμενο εάν είναι το τελευταίο αντικείμενο.

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

Αφού αποθηκεύσετε το σενάριο, επισυνάψτε το ως στοιχείο. Αυτό το σενάριο θα εφαρμοστεί στο συνημμένο αντικείμενο Selectable , οπότε αυτή τη φορά Canvas θα επισυνάψουμε στο .

Δοκιμάστε να το μετακινήσετε και δείτε αν μπορείτε να το μετακινήσετε μεταξύ Button1 και Button3 με πάτημα πλήκτρου.