如何在Android应用程序中为我的跳棋游戏设置坐标



我是安卓应用程序的新手,希望能得到专家的指导。我现在正在为我的最后一个项目做棋盘游戏。我面临的问题是,如何使用图像按钮为我的配电箱设置协调器?我用那种方式正确吗?

您可以使用GridView来包含您的棋盘格。然后,您可以简单地将一个支持检查器方形对象的数组绑定到网格,并创建自己的BaseAdapter以在每个网格单元中显示一个ImageButton

我会创建一个自定义View并将其设置为内容背景。即

CheckerBoard board = new CheckerBoard(this);
setContentView(board);

在上面的代码中,CheckerBoard扩展了View。在CheckerBoard类中,您可以使用传入的宽度和高度以编程方式将视图划分为一个8 x 8的网格。然后,您可以让该视图绘制网格,同时将每个区域绑定到一个二维数组。解释我心目中的层次结构有点复杂,但看看这个模型:

public class CheckerBoard extends View {
     @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        height = MeasureSpec.getSize(heightMeasureSpec);
        width = MeasureSpec.getSize(widthMeasureSpec);
        // A checkerboard is a square; this keeps the view's 
        // length and width the same size.
        width = (height > width) ? height : width;
        height = (height > width) ? width : height;
        this.setMeasuredDimension(width, height);
    }
    @Override
    protected void onSizeChanged(int w, int h, int oldw, int oldh) {
        //Log.i("VolumeGauge", "Size changed to " + w + "x" + h);
        // This is where you divide up the view into 64
        // pieces and paint them.
        generateBackground();
    }
    Other methods here…
}

有很多东西可以让这项工作正常进行,但我能给你的最好的资源是:
http://mindtherobot.com/blog/272/android-custom-ui-making-a-vintage-thermometer/

它将引导您完成创建自定义View的过程。一旦创建了CheckerBoard,只需将每个正方形映射到二维布尔数组(如果每个元素被一个棋子占据,则每个元素都将是true),然后跟踪用户在屏幕上的触摸输入。

最新更新