调试并发现错误...
我尝试这样做:
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,即
windowWidth/mapWidth
//This would be 0 if mapWidth > windowWidth assuming both are ints.
其次,在我看来,您使用了两个变量来表示同一件事:
getMapWidth //Should this be a method?
mapWidth
使用两个变量不是错误。但是,可能在两个变量之一中设置了错误的值。