像农场塔,愤怒的小鸟,割绳子等级select屏幕?

我想为我的游戏制作一个类似于“愤怒的小鸟”,“农场塔”和“割绳子”(您select世界的部分或类似于画廊部件的部分)的游戏。 我想知道什么是最简单的方法来攻击这个。

我将如何修改Gallery视图为此工作?

    视graphics成一个层次 。 制作一个GridViewGallery

    如果您希望修改Gallery教程中的代码,请将ImageView更改为BaseAdapter ,然后创build一个扩展BaseAdapter ,并覆盖其getView方法。 这是一个开始。

     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)); } 

    要了解更好的适配器: 参考或2分钟的video 。

    另外,这个问题在这里被问到。

    以下是使用“ Gallery视图制作级别select器的一个想法。

    让我们按照这个例子,以便你有一个代码库: http : //developer.android.com/resources/tutorials/views/hello-gallery.html

    所以在顶部你会有你的关卡屏幕。 当用户点击它时,这个方法被触发(直接从示例中获取)。

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

    也许你的startLevel看起来像这样:

     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(); } } 

    再一次,一个非常基本的例子,因为我不知道如何存储你的关卡,如果你使用的是数据库等。此外,你的每个级别的类可能会驻留在不同的包(例如com.game。 levelone,com.game.leveltwo),你需要导入类包,以免得到一个ClassNotFoundException但是这应该让你开始正确的方向。