我想在Android设备屏幕上制作一个5x5网格,并处理每个方块上的触摸事件
我该怎么做?
这是我为渲染网格而编写的代码,但我无法弄清楚如何处理网格中每个方块的触摸事件
shape.begin(ShapeRenderer.ShapeType.Line);
shape.setColor(Color.WHITE);
float squareWidth = Gdx.graphics.getWidth()/5;
float squareHeight = squareWidth;
float padding = squareWidth/10;
for(int j=0;j<5;j++){
for(int i=0;i<5;i++){
shape.box((padding+squareWidth*i),Gdx.graphics.getHeight()/8+(squareHeight*j)+padding,0,squareWidth-padding,squareHeight-padding,0);
}
}
shape.end();
答案 0 :(得分:1)
我这样做的方法是使用images的二维数组,并将数组添加到一个组中。此数组还为每个方块提供网格坐标。
然后,您可以使用命中检测来判断哪个方格被击中。
这种方法有许多好处,它们都是演员,如果需要,可以单独变得不可触摸。以同样的方式,只需更改setVisible,它们就会变得不可见。由于它们在一个组中,因此可以同时切换每个选项,这对切换屏幕非常有用,而不需要for循环。
希望这有帮助。