调试并发现错误...

我尝试这样做:

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


使用两个变量不是错误。但是,可能在两个变量之一中设置了错误的值。

10-03 00:53