使用方法中的代码的Java不';行不通
我正在尝试使用一个特定的代码,但由于某些原因它无法工作。我必须使用同一类中的方法:使用方法中的代码的Java不';行不通,java,methods,Java,Methods,我正在尝试使用一个特定的代码,但由于某些原因它无法工作。我必须使用同一类中的方法: public void InputEnter() { if(Input.GetKey(getCoords)) { Move(GetTransform().GetPos()); System.out.println((GetTransform().GetPos())); } } 这个方法给了我一些向量3f的坐标,一旦我点
public void InputEnter()
{
if(Input.GetKey(getCoords)) {
Move(GetTransform().GetPos());
System.out.println((GetTransform().GetPos()));
}
}
这个方法给了我一些向量3f的坐标,一旦我点击回车键。另一个代码写入一个文件
public void ProcessText()
{
System.out.println("ProcessText Operational");
String file_name = "C:/Users/Server/Desktop/textText.txt";
try
{
ProcessCoords file = new ProcessCoords(file_name);
String[] aryLines = file.OpenFile();
int i;
for (i = 0; i < aryLines.length; i++)
{
System.out.println(aryLines[i]);
if(aryLines[i].startsWith("makeGrass:")) {
String Arguments = aryLines[i].substring(aryLines[i].indexOf(":")+1, aryLines[i].length());
String[] ArgArray = Arguments.split(",");
this.makeGrass(Double.parseDouble(ArgArray[0]),
Double.parseDouble(ArgArray[1]),
Double.parseDouble(ArgArray[2]));
}
}
ProcessCoords data = new ProcessCoords(file_name);
data.writeToFile("makeGrass:");
System.out.println("Coordinates Saved!");
} catch(IOException e) {
System.out.println(e.getMessage());
}
}
ProcessCoords data = new ProcessCoords(file_name);
data.writeToFile("makeGrass:");
System.out.println("Coordinates Saved!");
public void ProcessText()
{
System.out.println(“ProcessText操作”);
字符串文件_name=“C:/Users/Server/Desktop/textText.txt”;
尝试
{
ProcessCoords文件=新的ProcessCoords(文件名);
字符串[]aryLines=file.OpenFile();
int i;
对于(i=0;i
我想做的是在ProcessText方法中使用Inpunter方法,所以我只是删除了Inpunter,并在ProcessText方法中使用了输入代码:
public void ProcessText()
{
System.out.println("ProcessText Operational");
String file_name = "C:/Users/Server/Desktop/textText.txt";
try
{
ProcessCoords file = new ProcessCoords(file_name);
String[] aryLines = file.OpenFile();
int i;
for (i = 0; i < aryLines.length; i++)
{
System.out.println(aryLines[i]);
if(aryLines[i].startsWith("makeGrass:")) {
String Arguments = aryLines[i].substring(aryLines[i].indexOf(":")+1, aryLines[i].length());
String[] ArgArray = Arguments.split(",");
this.makeGrass(Double.parseDouble(ArgArray[0]),
Double.parseDouble(ArgArray[1]),
Double.parseDouble(ArgArray[2]));
}
}
if(Input.GetKey(getCoords)) {
Move(GetTransform().GetPos());
ProcessCoords data = new ProcessCoords(file_name);
data.writeToFile("makeGrass:");
System.out.println("pressing enter doesn't work!!");
System.out.println((GetTransform().GetPos()));
}
System.out.println("Input.GetKey doesn't work anymore, but why and how to fix it??");
} catch(IOException e) {
System.out.println(e.getMessage());
}
}
public void ProcessText()
{
System.out.println(“ProcessText操作”);
字符串文件_name=“C:/Users/Server/Desktop/textText.txt”;
尝试
{
ProcessCoords文件=新的ProcessCoords(文件名);
字符串[]aryLines=file.OpenFile();
int i;
对于(i=0;i
但是现在,按enter键不再像以前那样为我提供坐标,我真的不明白为什么,我需要一些帮助
非常感谢 好吧,这花了我一段时间,但我已经弄明白了,其实很简单: 正如您在ProcessText()中所看到的,我包含了从文件读取的代码和写入文件的代码
public void ProcessText()
{
System.out.println("ProcessText Operational");
String file_name = "C:/Users/Server/Desktop/textText.txt";
try
{
ProcessCoords file = new ProcessCoords(file_name);
String[] aryLines = file.OpenFile();
int i;
for (i = 0; i < aryLines.length; i++)
{
System.out.println(aryLines[i]);
if(aryLines[i].startsWith("makeGrass:")) {
String Arguments = aryLines[i].substring(aryLines[i].indexOf(":")+1, aryLines[i].length());
String[] ArgArray = Arguments.split(",");
this.makeGrass(Double.parseDouble(ArgArray[0]),
Double.parseDouble(ArgArray[1]),
Double.parseDouble(ArgArray[2]));
}
}
ProcessCoords data = new ProcessCoords(file_name);
data.writeToFile("makeGrass:");
System.out.println("Coordinates Saved!");
} catch(IOException e) {
System.out.println(e.getMessage());
}
}
ProcessCoords data = new ProcessCoords(file_name);
data.writeToFile("makeGrass:");
System.out.println("Coordinates Saved!");
我的想法是将输入方法放入ProcessText方法,如您在此处所见:
if(Input.GetKey(getCoords)) {
Move(GetTransform().GetPos());
ProcessCoords data = new ProcessCoords(file_name);
data.writeToFile("makeGrass:");
System.out.println("pressing enter doesn't work!!");
System.out.println((GetTransform().GetPos()));
这几乎是正确的,但很好。。要使游戏对象的输入工作正常,我需要将输入类添加为组件:
addComponent(新的InputClass())
我所要做的就是将它从ProcessText方法中取出,并将其移动到输入类中,使其看起来像这样:
public void Input(float delta)
{
String file_name = "C:/Users/Server/Desktop/textText.txt";
try
{
ProcessCoords data = new ProcessCoords(file_name);
if(Input.GetKey(getCoords)) {
data.writeToFile("makeGrass:" + (GetTransform().GetPos()));
System.out.println("Coordinates Saved!");
System.out.println((GetTransform().GetPos()));
}
} catch(IOException e) {
System.out.println(e.getMessage());
}
}
在那之后,我能够实际使用各个游戏对象的输入,并且显然只有当我按下enter键时,才能将适当的坐标写入文本文件
结果如下:
我希望我的回答将来能帮助别人