1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Clickable Object auf SurfaceView

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von flore, 06.12.2010.

  1. flore, 06.12.2010 #1
    flore

    flore Threadstarter Neuer Benutzer

    Beiträge:
    11
    Erhaltene Danke:
    1
    Registriert seit:
    28.10.2010
    Hallo Profis,

    hab ein Problem bei meinem Spiel und zwar will ich meinen Roboter durch direktes Klicken aus der Surface View auswählen können. Bisher zeichne ich meine Roboter mit canvas.drawCircle(). Darauf kann ich natürlich keinen onClickListener setzen.

    Welche Möglichkeiten habe ich??


    Vielen Dank.
     
  2. ko5tik, 06.12.2010 #2
    ko5tik

    ko5tik Android-Experte

    Beiträge:
    620
    Erhaltene Danke:
    40
    Registriert seit:
    14.10.2009
    Phone:
    HTC Hero
    Du kannst auf dem Surface-Voew onClick setzen - da du genau weiß (hoffentlich)
    wo sich dein Roboter gerade befindet ist es ein Kinderspiel rauszufinden ob du drauf gecklickt hast
     
  3. flore, 06.12.2010 #3
    flore

    flore Threadstarter Neuer Benutzer

    Beiträge:
    11
    Erhaltene Danke:
    1
    Registriert seit:
    28.10.2010
    Danke für deine Antwort.
    Bisher habe ich das über onTouch gelöst. Ich bekomme die x und y Koordinaten und kann nun sehen ob sich ein Roboter darauf befindet.

    Das Problem daran ist, dass die Karte is zu einem gewissen Grad skaliert wird, falls das Spielfeld mal größer sein sollte als das Display. Ab einem gewissen Wert dann, wird die Autosklaierung wieder ausgeschaltet und die Karte wird scrollfähig.

    Nun reicht mir aber die x und y Koordinate nicht mehr aus, um zu bestimmen ob sich auf dieser Koordinate ein Roboter befindet.

    Hat jemand noch eine Idee, von mir aus auch ganz andere Ansätze...

    Danke.
     
  4. ko5tik, 06.12.2010 #4
    ko5tik

    ko5tik Android-Experte

    Beiträge:
    620
    Erhaltene Danke:
    40
    Registriert seit:
    14.10.2009
    Phone:
    HTC Hero
    aber du weiß sicherlich die Scroll-Positionen von Karte - da ist es seht leicht von Touch-Koordinaten
    zum Kartenkordinaten zu kommen ( viewportOrigin + touchX = kartenposition )
     

Diese Seite empfehlen