【问题标题】:Level Selector Screen like Farm Tower, Angry Birds, Cut the Rope, etc?农场塔、愤怒的小鸟、割绳子等关卡选择器屏幕?
【发布时间】:2011-07-28 02:18:43
【问题描述】:

我想为我的游戏制作一个类似于 Angry Birds、Farm Tower 和 Cut the Rope 中的关卡屏幕(您选择世界的部分,或类似于图库小部件的部分)。我想知道攻击这个的最简单方法是什么。

我将如何修改 Gallery 视图来解决这个问题?

【问题讨论】:

  • 您是否有运气制作此视图?请分享。谢谢
  • 并非如此。仍在寻找答案!
  • 对此有何更新?

标签: android gallery


【解决方案1】:

视图形成hierarchy。制作GalleryGridView

如果您希望修改 Gallery 教程中的代码,请将 ImageView 更改为 LevelSetView,并创建一个扩展 BaseAdapterLevelSetAdapter,并覆盖其 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));
    }

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

另外,有人问过这个问题here

【讨论】:

    【解决方案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 但这应该可以让您朝着正确的方向开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多