Ich habe eine Light-Klasse erstellt, die drei Vector3fs
, die Position, Farbe und Dämpfung sind. Ich habe in der Lage gewesen, ein Verfahren zu machen, dass das Licht auf die Config speichert als so:Laden Licht von Konfiguration
lightName: (0.0, 1000.0, -7000.0), (1.0, 1.0, 1.0), (1.0, 0.0, 0.0)
Jetzt brauche ich eine Methode, die und das Rück das Licht mit den gespeicherten Informationen laden kann. Bisher habe ich:
public Light getLight(String name) {
String line;
try {
while((line = bufferedReader.readLine()) != null) {
if(line.startsWith(name)) {
line = line.replace(name + ": ", "");
return new Light(new Vector3f(x , y, z), new Vector3f(r, g, b), new Vector3f(x1, y1, z1));
}
}
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
Alle Vorschläge würden sehr geschätzt werden! Vielen Dank!
---- ------ UPDATE
Dank Johnny Antwort konnte ich es herauszufinden. Hier ist der voll funktionsfähigen Code:
public Light getLight(String name) {
String line;
float x = 0, y = 0, z = 0, r = 0, g = 0, b = 0, x1 = 1, y1 = 0, z1 = 0;
try {
while((line = bufferedReader.readLine()) != null) {
if(line.startsWith(name)) {
line = line.replace(name + ": ", "").replace("(", "").replace(")", "");
Scanner parser = new Scanner(line);
parser.useDelimiter(", ");
x = parser.nextFloat();
y = parser.nextFloat();
z = parser.nextFloat();
r = parser.nextFloat();
g = parser.nextFloat();
b = parser.nextFloat();
x1 = parser.nextFloat();
y1 = parser.nextFloat();
z1 = parser.nextFloat();
parser.close();
break;
}
}
return new Light(new Vector3f(x , y, z), new Vector3f(r, g, b), new Vector3f(x1, y1, z1));
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@TotallyGamerJet Ich brauche Ihre aktualisierten Code, um zu sehen, können Sie Ihre Frage ein und fügen Sie Ihre aktualisierten Code bearbeiten - ** Hinweis: ** nicht ersetzen Ihre alter Code, fügen Sie einfach einen neuen Abschnitt am Ende Ihrer Frage mit einer Überschrift hinzu, die "Update" oder so etwas sagt. Wenn Sie Ihren alten Code ersetzen, geht die ursprüngliche Frage verloren und meine Antwort verliert ihre Bedeutung. –
Ich habe es herausgefunden. Ich musste "(" & ")" entfernen und das Trennzeichen machen "," – TotallyGamerJet