我创建了一个名为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