水平选择器屏幕,如农场塔,愤怒的小鸟,切绳等?

时间:2011-07-28 02:18:43

标签: android gallery

我想为我的游戏制作一个级别屏幕,类似于“愤怒的小鸟”,“农场大厦”和“剪切绳索”(您选择世界的部分,或类似于图库小部件的部分)。我想知道攻击它的最简单方法是什么。

如何修改Gallery视图以便为此工作?

2 个答案:

答案 0 :(得分:4)

视图形成hierarchy。制作Gallery的{​​{1}}。

如果您希望调整图库教程中的代码,请将GridView更改为ImageView,然后创建一个LevelSetView扩展LevelSetAdapter,并覆盖其BaseAdapter 1}}方法。 这是一个开始。

getView

要在2分钟内了解更好的适配器:reference或此video

此外,问题是here

答案 1 :(得分:2)

以下是使用Gallery视图制作关卡选择器的想法。

让我们按照这个例子,这样你就有了一个代码库: 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但是这应该让您开始朝着正确的方向前进。