2011-07-28 3 views
7

Angry Birds、Farm Tower、Cut the Rope(世界を選択する部分、またはギャラリーウィジェットに似た部分)のような私のゲームのためのレベルのスクリーンを作りたいと思います。私はこれを攻撃する最も簡単な方法が何であるか知りたかったのです。レベルセレクタ画面、ファームタワー、怒っている鳥、カットロープなど?

Galleryビューを変更するにはどうすればよいですか?

+0

このビューを作成する運がありますか?シェアしてください。 thnx –

+0

本当に。まだ答えを探しています! –

答えて

2

ここでは、Galleryビューを使用してレベルセレクタを作成する方法を示します。 http://developer.android.com/resources/tutorials/views/hello-gallery.html

だから一番上にあなたがあなたのレベルのスクリーンがあるでしょう:

は、あなたがコードベースを持っているだけのように、この例に従ってみましょう。ユーザーがクリックすると、このメソッドは起動されます(この例からまっすぐ取り出されます)。私はあなたがデータベースを使用したりしていない場合は、自分のレベルを格納しているか分からないため、ここでも非常に基本的な例を

public void startLevel(int position){ 
    Resources res = getResources(); 
    String[] levels = res.getStringArray(R.array.level_classes); 
    try{   
     Intent i = new Intent(this, Class.forName(levels[position])); 
     startActivity(i); 
    } catch (ClassNotFoundException e) { 
     e.printStackTrace(); 
    } 
} 

gallery.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView parent, View v, int position, long id) { 
     startLevel(position); 
    } 
}); 

たぶんあなたstartLevelは次のようになりますさらに、各レベルのクラスはおそらく異なるパッケージ(例えばcom.game.levelone、com.game.leveltwo)にあり、ClassNotFoundExceptionを取得しないようにクラスパッケージをインポートする必要がありますが、これはあなたが正しい方向にスタートさせるはずです。

4

Viewsフォームa hierarchyGalleryGridViewにする。

あなたは、ギャラリーのチュートリアルからコードを適応させるLevelSetViewImageViewを変更し、BaseAdapterを拡張LevelSetAdapterを作成し、そのgetViewメソッドをオーバーライドしたい場合。 ここは始まりです。 referenceまたはこのvideo 2分で:より良いアダプターを理解することが

public class HelloLevelsGalleryActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Gallery g = (Gallery) findViewById(R.id.gallery); 
     g.setAdapter(new LevelSetAdapter(this)); 
    } 

また、質問はhereと尋ねられました。

関連する問題