我实际上是在Android Studio上基于此绘制的网格进行游戏:
public void dessin(Canvas canvas){
paint.reset();
TenGame theGame=gam.getTenGame();
canvas.drawColor(Color.YELLOW);
paint.setColor(Color.BLACK);
for(int x=0;x<canvasWidth;x+=cellSize){
canvas.drawLine(x,0,x,canvasWidth,paint);
}
for(int y=0;y<canvasWidth;y+=cellSize){
canvas.drawLine(0,y,canvasWidth,y,paint);
}
paint.setTextSize(50);
paint.setFlags(Paint.ANTI_ALIAS_FLAG);
PositionList plist=theGame.getSelectedGroup();
for(int x=0;x<5;x++){
for(int y=0;y<5;y++){
Position p=new Position(x,y);
if (theGame.get(p)!=null) {
canvas.drawText(Integer.toString(theGame.get(p)), (x * cellSize) + 15, (cellSize + y * cellSize) - 15, paint);
}
else{
canvas.drawText("", (x * cellSize) + 15, (cellSize + y * cellSize) - 15, paint);
}
}
}
}
当我触摸网格中的一个单元格时,我想更改背景的颜色。
我认为对我来说最好的解决方案是做一个drawRect(),但我不知道应该做哪个尺寸。
我的库中有游戏模型,可以获取位置(x,y)。
答案 0 :(得分:0)
使用GridPane可能会更好,因为这将使绘制栅格线和向每个像元添加事件处理程序的过程变得更加容易。