Der beste Weg, ein 2D-Gittersystem zu implementierenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Der beste Weg, ein 2D-Gittersystem zu implementieren

Post by Anonymous »

Ich möchte ein Rastersystem für ein 2D-Spiel erstellen. Sechseckige oder quadratische Spielsteine ​​sollten für ein Tower-Defense-Spiel mit beweglichen Einheiten anstelle von Türmen keine Rolle spielen. Es sollte verschiedene Geländearten geben. Einige Einheiten können nur in X sein und können nicht durch Y gehen. Ich muss auch Logik zu Kacheln hinzufügen, eine spezielle Kachel, um darüber liegenden Einheiten zusätzliche Angriffsreichweite zu geben. Das Spiel muss auch dafür sorgen, dass die Dinge in der Mitte der Kacheln einrasten und die Kacheln beim Schweben und Bewegen/Angreifen hervorgehoben werden.
Image

Image

Ich kann Fertighäuser für Kacheltypen erstellen, Eigenschaften und Logik hinzufügen und eine Rasterklasse erstellen, die jede Kachel instanziiert. Aber wie entwerfe und setze ich verschiedene Level-Designs um? Ich kann es manuell machen, es in JSON exportieren und die Rasterklasse basierend auf den JSON-Informationen auswählen lassen, welche Kachel wo instanziiert werden soll. Wie setze ich das um? Es wäre ein absurder Arbeitsaufwand. Ist ein Spielobjekt für jede Kachel eine gute Idee für die Leistung?
Wie konvertiere ich die Mausposition in die entsprechende Kachel? Bei Quadraten ist das einfach. Das Grid wird nur bereitgestellt, wenn das Spiel läuft. Ist das schlimm? Tilemaps beheben alle Probleme, entziehen aber auch Fertighäusern den Strom. Ich kann mit Kacheln keine Logik haben und sie können keine Eigenschaften speichern. Vorgefertigte Pinsel, benutzerdefinierte Klassen, die von Kacheln erben, und eine Kachelkarte für jeden Kacheltyp fühlen sich nicht richtig an und funktionieren nur für sehr grundlegende Dinge.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post