我有三个类:运动,碰撞和变量(Variables类是我存储变量的地方,它们都是公共的和静态的,考虑到我是java新手,我不太了解static关键字的作用是什么,所以我的问题可能与static关键字有关)。在我的碰撞类中,有一种方法可以检查地图中的碰撞。现在,这个方法效果完美:Java:变量不增加
public void checkCollision(int x, int y)
{
if (x == 100){
Variables.collisionRight = true;
} else {
Variables.collisionRight = false;
}
}
在这里,我有我的运动类中的方法不工作:
public void playerMovement (int x, int y)
{
if (RightKeyPressed == true & collisionRight == false) {
x += Variables.speed;
}
}
这是我如何调用这些方法:
someObject.checkCollision(Variables.playerX, Variables.playerY);
someOtherObject.playerMovement(Variables.playerX, Variables.playerY);
似乎对我来说问题是这条线:
x += Variables.speed;
如果我改变
x
到
Variables.playerX
一切正常,但是这不是我想要的工作。
这不起作用。基本上应该是(Variables.playerX + = Variables.speed) 所有的方法都是样本。我想知道为什么我的x(Variables.playerX)变量不增加3(这是我的Variables.speed变量);我想知道为什么我的x(Variables.playerX)变量不增加3(这是我的Variables.speed变量)。
只是说使用(RightKeyPressed&!collisionRight) – 2014-10-19 15:55:50
您的标题没用。它应该描述具体问题。 – 2014-10-19 15:55:50