1. krackmoe, 17.03.2011 #1
    krackmoe

    krackmoe Threadstarter Junior Mitglied

    Ich bin am überlegen wie ich das am geschicktesten machen kann.

    Ich mache gerade das Spiel Tic Tac Toe.

    Wenn ich jetzt den Bildschirm drehe, verzerrt mir das ja mein Spielfeld leicht und meine Koordinaten wo ich die X und O hinsetze stimmen auch nicht mehr, da ich diese statisch gesetzt habe.

    Welchen View verwende ich hier am Besten?
    Wie mach ich das mit den Koordinaten? Muss ich mir die jedes mal ausrechnen und umrechnen, wenn ich merke das sich der Screen dreht oder gibts hier auch eine angenehmere Variante?
     
  2. Asfaloth, 17.03.2011 #2
    Asfaloth

    Asfaloth Android-Hilfe.de Mitglied

    Willst du, dass man den Bildschirm drehen kann?

    Wenn nicht, deaktiviere einfach den Landscape-Modus ;)
     
  3. wilco, 18.03.2011 #3
    wilco

    wilco Android-Hilfe.de Mitglied

    Nein, da gibt's keine angenehmere Variante. Du musst jedes mal die Breite und die Höhe bestimmen, und daraus Deine Feld-Dimensionen errechnen. Wenn Du's quadratisch haben möchtest musst Du dann schauen dass wenn Breite>Höhe Du Breite=Höhe setzt und umgekehrt.

    Die Position Deiner X und O Grafiken musst Du dann auch jedes Mal neu errechnen. Bei Tic Tac Toe ist das ja eigentlich simpel. X-Position = Breite/3 * (Entweder 0, 1 oder 2) für die 1., 2. oder 3. Spalte.

    Und sehr wichtig, Du musst die Grafiken dann von Hand skalieren. Entweder über Bitmap.createScaledBitmap, oder indem Du mit Source und Destination Rectangle arbeitest.

    Wenn Du all das machst läuft Dein Spiel dafür aber auch auf allen Geräten, vom Wildfire bis zum Tablet. Am besten legst Du die für Dich wichtigen Koordinaten gleich am Anfang fest in einer seperaten Methode. Dann hast Du das schön separat und getrennt von Deiner Spiel-Logik.
     
  4. krackmoe, 18.03.2011 #4
    krackmoe

    krackmoe Threadstarter Junior Mitglied

    Ok danke für die Antworten.

    Werds so wie Wilco gemeint hat machen.

    Mh.. ists eigentlich egal welches Layout ich verwende?
    Im Moment hab ich da ein LinearLayout drumherumgepackt...