我有三個類:運動,碰撞和變量(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