我目前正在用Java製作一個簡單的2D RPG遊戲。Scanner(System.in).nextLine()阻止我的遊戲
我得到了渲染&滴答方法完成,遊戲工作正常。
現在我想實現一個控制檯,用戶可以輸入一些命令並與地圖交互。
問題是,當我開始遊戲,它只是凍結。該凍結是由Scanner(System.in).nextLine()引起的。這是我的分析器類:
import java.util.Scanner;
public class Parser
{
private CommandWords aValidCommands;
private Scanner aReader;
public Parser()
{
this.aValidCommands = new CommandWords();
this.aReader = new Scanner(System.in);
} // Parser()
public Command getCommand()
{
String vInputLine;
String vWord1 = null;
String vWord2 = null;
System.out.print("> ");
vInputLine = this.aReader.nextLine();
Scanner vTokenizer = new Scanner(vInputLine);
if (vTokenizer.hasNext()) {
vWord1 = vTokenizer.next();
if (vTokenizer.hasNext()) {
vWord2 = vTokenizer.next();
}
}
if (this.aValidCommands.isCommand(vWord1)) {
return new Command(vWord1, vWord2);
}
else {
return new Command(null, null);
}
} // getCommand()
} // Parser
和我的蜱功能(被稱爲60次/秒)
Parser aParser = new Parser();
Command command = aParser.getCommand();
當它到達行「vInputLine = this.aReader.nextLine(遊戲只是凍結);「。我不知道爲什麼。
此外解析器類工作正常,我已經使用這個類做了一個基於控制檯的RPG。我只是不知道爲什麼當我嘗試在我的2D遊戲中實現它時會凍結。
任何幫助,將不勝感激。
它應該阻止。直到您在控制檯上輸入內容。你期望它做什麼? –
你應該使用線程.. – perencia