Dynamische Layouts / Spielfelddesign

  • Mahlzeit zusammen,


    da dies nun mein erster Post hier im Forum ist würde ich mich gern kurz vorstellen, im Normalfall nennt man mich Tino, bin 27 Jahre und programmiere Hobbymäßig seid gut 17 Jahren und berufsmäßig seid 7 Jahren in allerlei Sprachen... Nun soll eine dazu kommen, vor der ich mich bisher erfolgreich gedrückt habe: Java, in diesem Fall aber im Android SDK. Nun aber zu meinem eigentlichen Problem:


    Ich habe ein Konzept zu einem rundenbasiertem Strategiespiel im Kopf, dieses soll sich auf einem hexagonalen Spielfeld abspielen (hexagonal - Sechseckige Felder -> wabenförmig). Und genau hier bräuchte ich einen Denkanstoß: wie ermittle ich möglichst performant das geklickte Feld?


    Bisherige Denkansätze sind aufgrund der Struktur (jedes Feld als Klasseninstanz, zusammengefasst in Klasse Spielfeld):
    1) onTouch abonieren und X/Y an Spielfeld weitergeben und hier über alle Felder iterieren und prüfen, welches Feld geklickt wurde.
    2) "Image-Hotspot". Beim Feldaufbau eine zweite view zu erstellen, die mittels rgb die zellen unicolor färbt, aber den RGB wert jeweils um 1 erhöht, so dass ich beim ontouch mit getColor auf den Index des Feldes zugreifen kann.


    Nun meine Frage, sind beide Ansätze sinnvoll? Welcher eventuell mehr? Gibt es vllt "etwas von Ratiopharm"? stehe im Moment echt auf dem Schlauch, wie ich das ganze umsetzen soll, da mir im Hinterkopf das zoomen noch herumschwirrt und ich noch nicht abschätzen kann, was da vom scaling her am sichersten ist -.-


    Wäre echt toll, wenn mir jmd ein paar Erbsen als Wegweiser zuwerfen könnte...


    Gruß Tino

  • So, also ich habe nun mein Spielfeld selbst zusammengebaut und hole mir übers ontouch die jeweilige Zelle... mitlerweile habe ich auch einen wunderschönen zoom... was mir noch fehlt ist das scrolling... leider raff ich die geschichte mit dem GestureListener noch nicht so richtig... Das zoomen ist auch nur mehr zusammen "geklaut", sprich kopiert und zu wissen wieso, ich würd nur gern wissen wies funktioniert.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!