Erstellen eines RTS-Spiels #8: Verbesserung unserer Auswahlfunktion (Unity/C#)

Blog

Vor ein paar Wochen haben wir unsere Benutzeroberfläche verbessert und mehr Informationen zu den Gebäuden angezeigt (mit Infofeld und Gesundheitsleisten).



Heute werden wir dieses Thema fortsetzen und unseren Auswahlmechanismus verbessern – wir werden drei Dinge tun:

  • die anzeigen Liste der aktuell ausgewählten Einheiten : Um sich besser daran zu erinnern, was wir ausgewählt haben, auch wenn es außerhalb des Bildschirms ist, listen wir die Einheiten am unteren Rand des Bildschirms als kleine Blöcke auf!
  • schaffen Auswahlgruppen : Dies ist eine schöne Möglichkeit, zwischen Ihren Einheiten zu wechseln, die viele RTS bieten
  • erscheinen Info zur aktiven ausgewählten Einheit : Es wäre schön, einige Daten und spezifische Aktionen für eine Einheit zu haben, wenn wir eine Einheit auswählen

Anzeige der Liste der aktuell ausgewählten Einheiten

In einem vorherigen Tutorial haben wir ein grundlegendes Auswahlsystem eingerichtet, mit dem Einheiten ausgewählt werden können, indem entweder ein Kästchen auf dem Bildschirm um sie herum gezogen oder direkt darauf geklickt wird. Wir sehen, welche Einheiten ausgewählt sind, weil sie einen Auswahlkreis und eine Gesundheitsleiste haben, aber es wäre schön, sie zu haben eine vollständige Liste aller aktuell ausgewählten Einheiten irgendwo auf dem Bildschirm. Dies ist insbesondere dann sehr nützlich, wenn wir beginnen, die Kamera zu bewegen und möglicherweise Einheiten ausgewählt haben, die sich nicht mehr im Ansichtsfenster befinden.



Um zu vermeiden, dass diese Liste zu viele Blöcke enthält, werden wir Gruppeneinheiten pro Einheitentyp ; Wenn wir also zum Beispiel 1 Haus und 2 Türme auswählen, haben wir 2 Gegenstände: einen für das Haus mit einer Anzahl von 1 und einen für die Türme mit einer Anzahl von 2. Schließlich werden wir die Einheitensymbole verwenden – vorerst wir füge einfach einen Text mit dem Namen des Einheitentyps hinzu:

Um dies umzusetzen, müssen wir:



  • Fügen Sie einige UI-Elemente in unserem Canvas hinzu, insbesondere ein übergeordnetes Panel mit einem GridLayout, um die Elemente einfach zu stapeln, und ein Prefab, um die ausgewählten Einheiten als kleine Blöcke anzuzeigen
  • aktualisiere unsere |_+_| und |_+_| Skripte, um diese neue Funktion in das aktuelle Auswahlsystem zu integrieren

Der erste Teil ist dem, was wir in früheren Tutorials gemacht haben, sehr ähnlich und hängt stark von dem Spielgefühl ab, das Sie für Ihr Spiel wünschen, daher werde ich hier keine expliziten Details dazu geben. Wichtig ist nur, dass mein SelectedUnitDisplay Prefab zwei Kinder mit Textkomponenten hat: die Anzahl und der Name, um jeweils die aktuelle Anzahl der ausgewählten Instanzen und den Einheitentyp anzuzeigen.

#spiele #entwicklung #einheit #tutorial #csharp

medium.com

Erstellen eines RTS-Spiels #8: Verbesserung unserer Auswahlfunktion (Unity/C#)

Setzen wir unser RTS-Spielprojekt fort: Heute verbessern wir unseren Auswahlmechanismus!