爲什麼我的while循環凍結了我的程序?While Loop Stalling Program
gameLoop()支撐着我的其他程序進程。
while (running) {
if (Key.up) {
player.moveCharacter(1, playerSpeed);
} else if (Key.down) {
player.moveCharacter(2, playerSpeed);
} else if (Key.left) {
player.moveCharacter(3, playerSpeed);
} else if (Key.right) {
player.moveCharacter(4, playerSpeed);
}
}
// listen for log in data
while (true) {
try {
int direction = socketIn.readByte(); // player direction
// sent from server
int px = socketIn.readByte(); // player px
int py = socketIn.readByte(); // player py
String username = socketIn.readUTF(); // player username
player = new Player(direction, px, py, username); // create
break;
} catch (IOException e) {
e.printStackTrace();
break;
}
}
game.gameLoop(player);
game.gameLoop(player);就像你看到的那樣調用我的遊戲循環,但是當它運行時,我的遊戲繼續執行其他進程。有人可以告訴我爲什麼會發生這種情況嗎?我需要把它放在線程上嗎?
因爲你處於gameLoop的連續循環中,即:'while(true)'without break condition。 –
我已更新我的代碼。仍然不起作用。 – user3130731