类实例中的方法不改变变量?

时间:2013-12-15 01:59:41

标签: java class scope lwjgl

我有两个类:Main和Unit。 Unit类被初始化,变量xy在类的顶部声明:

public Unit(int health, int damage, int x, int y) {
        this.x = x;
        this.y = y;
        Main.drawQuad(x, y, 15, 15);
    }

我有一个方法可以获取xy个变量,并将它们加1。根据我的理解,这将使它移动(Main.drawQuad是一种简单绘制四边形但缩短的方法)。相反,它什么都不做,xy永远不会改变。

我需要以不同方式声明它们吗?以不同方式访问它我尝试过不同的变量范围。我必须通过Main类更改它们吗?我正在与LWJGL合作。

2 个答案:

答案 0 :(得分:1)

有很多事情可能是错的,你还没有真正展示可能出错的代码。

  • 也许您只是认为自己正在改变x和y。

  • 也许您不会使用新值重新绘制四边形。

  • 也许您正在更改错误对象中的x和y。

您最好的选择是使用调试器逐步执行代码,并密切关注值是什么,何时更改,它们所处的对象以及之后这些值会发生什么。

答案 1 :(得分:1)

没有。那种方法不会让它移动。 “让它移动”是你的工作。您必须每次重新绘制四边形,方法是递增xy值,然后再次调用绘图API。