如何确定记忆游戏中的哪个方格被按下?

时间:2014-04-11 09:39:43

标签: java android algorithm

我想在Android上开发一款简单的记忆游戏。

记忆游戏的正方形如下图所示。我应该如何确定按下哪个方块?我应该使用图像按钮吗?我个人认为用图像按钮制作游戏是个好主意。你能否建议我如何确定哪个方格被按下?

enter image description here

3 个答案:

答案 0 :(得分:1)

我认为每个广场的ImageView是最好的方式,不需要按钮。

注意:View就足够了,您可以为任何视图实施onClick(View)

<强>更新 由于你的方块有一个图形(而不是View s),你可能确实使用坐标来确定触摸了哪个方格,但我不认为这是最简单的方法,也不是最好的方法。

为什么不想要GridLayoutTableLayout包含ImageView

答案 1 :(得分:1)

如果您有一个绘制正方形的视图,那么在该视图中放置一个onClick()侦听器,并在onClick()内部执行以下操作:(这取自我制作的数独游戏)

@Override
public boolean onTouch(View v, MotionEvent event)
{
    switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            // keep where the user first touch the screen
            touchedX = (int) event.getX() / wid33; // the square width
            touchedY = (int) event.getY() / hei33; // the square height
            break;

        case MotionEvent.ACTION_UP:
            // see if the touched square is the same
            int X = (int) event.getX() / wid33;
            int Y = (int) event.getY() / hei33;
            if (X == touchedX && Y == touchedY)
            {
             // the square is the same, do what you have to do
            }
            break;

        case MotionEvent.ACTION_CANCEL:
            touchedX = -1;
            touchedY = -1;
            break;

        default:
            return super.onTouchEvent(event);
    }
    return true;
}

答案 2 :(得分:0)

考虑使用Canvas甚至OpenGL ES来渲染您的游戏。这种方法为您提供了更大的灵活性和更好的性能。

要检查女巫方格是否触摸了手柄触摸事件,您可以使用OnTouchListener

Thisthis回答可能有助于启动您的代码。