Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Freienstein

Frischling

  • »Freienstein« ist der Autor dieses Themas

Beiträge: 84

Wohnort: Berlin

  • Private Nachricht senden

1

29.11.2013, 14:44

[C#] Hex Grid

Moin,

ich versuche in Unity mit C# ein hex grid anzulegen, auf dem ich dann gameobjects instanzieren kann. Nicht die sauberste Lösung, aber für mein kleines 2D Spiel absolut ausreichend.
Meine Kenntnisse sind zugegebernermaßen nicht die Besten, die Grundlagen eines hex grids habe ich aber verstanden (alles hier erklärt).

Jetzt hab ich nur blöderweise keinen Plan wie ich das grid den speichern soll.
In dem Post ist was von arrays und hash tables die Rede, weiß allerdings nicht, wie ich das mit arrays umsetzen soll (mit hash tables hatte ich noch nichts am Hut und auf google finde ich nichts nützliches dazu)

Hoffe, ihr könnt mir da ein paar Gedankenanstöße geben.

Gruß

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

29.11.2013, 14:47

Ein Hex-Grid ist auch nichts weiter als ein "verschobenes Array". Beispiel: http://www.wuphonsreach.org/Games/Civ5/H…agons-24x24.png
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Freienstein

Frischling

  • »Freienstein« ist der Autor dieses Themas

Beiträge: 84

Wohnort: Berlin

  • Private Nachricht senden

3

29.11.2013, 14:56

Ich werde kein verschobenes Hex Grid verwenden, einfach mal in den Post unter axial coordinates schauen. Dadurch entstehen aber unschöne Löcher im array, deshalb komm ich nicht mit zurrecht ^^"

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

29.11.2013, 15:04

Das ist noch immer ein verschobenes Grid, nur eben sind ein paar Felder leer.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Freienstein

Frischling

  • »Freienstein« ist der Autor dieses Themas

Beiträge: 84

Wohnort: Berlin

  • Private Nachricht senden

5

29.11.2013, 15:39

Bäh, weiß wo mein Denkfehler lag. Hab im Kopf mit einem 1D Array hantiert ... mit 2D Arrays ist die Welt so viel einfacher ^^

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

6

29.11.2013, 15:47

Sehe ich zwar ganz anders, aber nun ja. Du weißt, dass man mit einem 1D-Array jede beliebige Dimension simulieren kann, wenn der Index-Zugriff entsprechend erfolgt?
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Freienstein

Frischling

  • »Freienstein« ist der Autor dieses Themas

Beiträge: 84

Wohnort: Berlin

  • Private Nachricht senden

7

29.11.2013, 15:54

Nope, da musst du mich aufklären.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

8

29.11.2013, 15:55

Ich empfinde 1D-Arrays auch in der Handhabung wesentlich besser. Man muss doch eh den Zugriff auf das Array vor Überläufen schützen, also eh eine Methode bereitstellen.
Aber es ist trotzdem tatsächlich Geschmackssache.

DeKugelschieber

Community-Fossil

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

9

29.11.2013, 16:22

Index = Zeilenlänge*y+x

für 2D zum Beispiel...

Freienstein

Frischling

  • »Freienstein« ist der Autor dieses Themas

Beiträge: 84

Wohnort: Berlin

  • Private Nachricht senden

10

29.11.2013, 16:50

Ich hab gedacht für das ganze ein 2D bool array zu nehmen. Damit kann ich einfach bestimmen, welche Koordinaten zur Map gehören und welche nicht.
Zudem kann ich aus dem array bool[x][y] auch immer ohne große Komplikation die dritte Achse (z = -x-y) berrechnen.

Werbeanzeige