2012-04-02 2 views
-2

Bin im Prozess der Erstellung einer Anwendung SPINNING A BOTTLE App ähnlich, Alles was ich habe ist ein einzelnes Bild von einer Disc und wenn der Benutzer die Festplatte berührt und in der Lage zu drehen Es kann alle Richtungen, Benutzer kann auch die Disc halten und steuern die Disc-Rotation, (genau in der Art und Weise wie DJ's die Disc in der Disco drehen),Brauchen Sie Hilfe beim Erstellen einer Disc-Probe für Android drehen

meine Frage ist, brauche ich irgendwelche opengl Sachen oder das kann sein fertig mit APIs selbst?

oder muss ich für FLASH gehen?

Antwort

2

Als Programmierer sollten Sie eine sehr genaue Vorstellung davon haben, wie Sie die Makro-Idee Ihres Spiels in einzelne, durchführbare Komponenten abstrahieren würden. Wenn Sie also Fragen zu StackOverflow oder anderen stellen, sind sie mehr wie folgt: "Wie ermittel ich den Einfallswinkel zwischen der X-Achse und einer Linie, die von dem Klickpunkt des Benutzers und der Mittelposition meines Flaschen-Sprites generiert wird" anstatt "Wie baue ich ein Spiel?". Wie Sie vielleicht herausfinden (vielleicht nicht, wenn ich meine Einschätzung Ihrer Frage falsch ist), gibt es viel Arbeit zu tun.

Meine Empfehlung, wenn Sie Ihre Entwicklung beschleunigen wollen, ist eine bestehende Rahmen zu verwenden, anstatt eine Menge von der Basiscode zu umschreiben, sich (wie Cocos2D für Android), und dann kann man solche Konzepte wie die zuvor erwähnte nutzen zu erreichen die Funktionalität, die Sie suchen:

Sie noch haben Themen wie das Laden von Grafiken und das Zeichnen auf dem Bildschirm und das Abrufen von Benutzereingaben.


Alternativ, je nachdem, wie komplex Sie möchten, dass Sie app zu sein, konnte man nur versuchen, Ihre Sprite in einer Bildansicht geladen und dann mit Hilfe einer Matrix drehen:

import android.app.Activity; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.graphics.Matrix; 
import android.os.Bundle; 
import android.widget.ImageView; 

public class TestImages extends Activity { 

    private float ANGLE = 30; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     ImageView image = (ImageView) findViewById(R.id.test_image); 
     Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.bottle); 
     Matrix mat = new Matrix(); 

     // Realistically, you would be computing angle using technique 
     // similar to the links I posted, and you would want this to be 
     // updated every frame or every time a 'drag' event occurred, rather 
     // than just once when the app started 
     mat.postRotate(ANGLE); 
     Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0, bMap.getWidth(), bMap.getHeight(), mat, true); 
     image.setImageBitmap(bMapRotate); 
    } 
} 
Verwandte Themen