我創建了一個名爲multiplay
的布爾值。IF語句問題Java
private boolean multiplay;
我public Game()
中我有:
// make a player
player = new Player(this);
if(multiplay == true) {
player2 = new Player(this);
}
在我創建了一個方法,實際的類文件:
public void startMutliPlayer() {
multiplay = true;
}
我所試圖做的是當startMultiPlayer
把它叫做將布爾multiplay
設置爲true
,因此,兩名球員將被添加到框架而不是一個。如果未調用「startMultiPlayer」,則只會添加一個播放器。
目前只有當我打電話給startMultiPlayer
時,它只增加了一名選手而不是兩名選手。
UPDATE:
之所以能夠出使用下面的代碼進行排序這個問題:
// Make Players (Single & MultiPlayer)
if (multiplay == false) {
player = new Player(this);
player.setPosition(startPosition);
player.move(new Vec2(-210, 0));
multiplay = true;
} else if(multiplay == true) {
player = new Player(this);
player.setPosition(startPosition);
player.move(new Vec2(-210, 0));player2 = new Player(this);
player2.setPosition(startPosition);
player2.move(new Vec2(-150, 0));
multiplay = false;
}
public static void startMutliPlayer() {
multiplay = false;
}
感謝
發佈SSCCE。您發佈的代碼不足以瞭解問題所在。另外,「if(multiplay)」就足夠了。不需要比較布爾值和true來獲得布爾值。 – 2013-04-06 12:08:34
@JBNizet我需要發佈什麼內容。其他玩家不會加載任何錯誤。這就是我在這裏遇到的問題。順便說一句,我把它設置爲假,現在玩家出現,但即使我沒有打電話它也會出現。 – 2013-04-06 12:11:24
我認爲你必須在'startMultiplayer()'方法中移動'if'語句,因此你將驗證'multiplay'變量的屬性,並添加播放器。 – Houari 2013-04-06 12:12:20