我想为我的游戏制作一个级别屏幕,类似于“愤怒的小鸟”,“农场大厦”和“剪切绳索”(您选择世界的部分,或类似于图库小部件的部分)。我想知道攻击它的最简单方法是什么。
如何修改Gallery
视图以便为此工作?
答案 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
但是这应该让您开始朝着正确的方向前进。