我希望在屏幕的中心显示为7 x 7的方形网格,但正如您可以看到的,使用当前的代码可以看到垂直线条正确职位,但水平的不是。我相信这是一个简单的解决和将不胜感激任何帮助 -在绘制安卓游戏的方形网格时遇到困难
public class GameGrid extends View {
Paint black = new Paint();
public GameGrid(Context context) {
super(context);
black.setColor(Color.BLACK);
black.setStrokeWidth(8);
}
@Override
public void onDraw(Canvas canvas) {
float startX;
float stopX;
float startY;
float stopY;
int width = canvas.getWidth();
int height = canvas.getHeight();
int gridSize = 7;
int gridSpacing = width/gridSize;
//Vertical Grid-lines
for (int i = 0; i < gridSize; i++) {
startX = width/2 - height/2;
stopX = width/2 + height/2;
startY = i*gridSpacing;
stopY = i*gridSpacing;
canvas.drawLine(startX, startY, stopX, stopY, black);
}
//Horizontal Grid-lines
for (int i = 0; i < gridSize; i++) {
startX = i*gridSpacing;
stopX = i*gridSpacing;
startY = height/2 - width/2;
stopY = height/2 + width/2;
canvas.drawLine(startX, startY, stopX, stopY, black);
}
}
Picture of what grid currently looks like
嗨谢谢你的回答,我已经尝试将你的代码加入到我的项目中,现在它似乎已将水平线对准垂直线上的正确位置,但只有很小一部分可见,表明它们是已经从屏幕的边缘向左移动,或者它们正确显示,但只有几个像素长。 – JCH1530
对不起,我现在修正了,我在'stopX'中使用'gridSize'而不是'boardSize'。应该现在工作。 – leobelizquierdo
非常感谢谢谢,现在唯一的事情是它需要沿着底部的一条额外的水平线来关闭电网,但我确信我可以有希望地工作那一个 – JCH1530