调试并发现错误...
我试过这样做:
public void paint(Graphics g) {
for (int i = 0; i < mapWidth; i++) {
g.drawRect (0 + i * (windowWidth/mapWidth), 0, windowWidth/mapWidth, windowHeight/mapHeight);
}
}
除了我这样做之外,它什么也没有画出来:
g.drawRect(0, 0, 64, 64);
它完美无缺?
答案 0 :(得分:6)
因为您在我们的第一个代码中将高度调为零,请参阅drawRect的界面:
void drawRect(int x, int y, int width, int height)
答案 1 :(得分:0)
这似乎很容易,但通常情况下,错误往往是微不足道的。
您是否检查过您的变量是否会产生值&gt; 0,即
windowWidth/mapWidth
//This would be 0 if mapWidth > windowWidth assuming both are ints.
其次,在我看来,你使用了两个表示同一事物的变量:
getMapWidth //Should this be a method?
mapWidth
使用两个变量不是错误。但是,您可能在两个变量之一中设置了不正确的值。