Hallo Community!
Momentan entwickeln wir für die Uni ein kleines Spielchen. Ich suche eine Lösung wie ich einen Sound in einer Schleife abspielen kann, solange der Wert isplaying true ist. Sobald ich ihn auf false setze soll er aufhören den Sound zu spielen.
Hierbei handelt es sich um die Bewegung einer Spielfigur nach links und rechts.
Meine play Methode um einen einzelnen Sound abzuspielen (wie zb beim springen) sieht wie folgt aus
Ich hab mir überlegt einfach am anfang des Threads die variable is playing auf true zu setzen und danach wieder auf False, aber aufgrund der Tatsache dass wieder ein neuer Thread gestartet wird scheint das nicht zu funktionieren.
Jetzt hab ich mir noch überlegt eine extra Methode loopPlay zu schreiben die einen Sound solange abspielt bis diese besagt Variable wieder auf false gesetzt ist
Momentan sieht sie so aus, was aber nicht wirklich zielführend ist...
Über Anregungen und Hilfen würde ich mich freuen
Danke schonmal im Vorraus
Momentan entwickeln wir für die Uni ein kleines Spielchen. Ich suche eine Lösung wie ich einen Sound in einer Schleife abspielen kann, solange der Wert isplaying true ist. Sobald ich ihn auf false setze soll er aufhören den Sound zu spielen.
Hierbei handelt es sich um die Bewegung einer Spielfigur nach links und rechts.
Meine play Methode um einen einzelnen Sound abzuspielen (wie zb beim springen) sieht wie folgt aus
Java:
public void play() {
try {
System.out.println("Try playing:" + filename);
new Thread(){
public void run() {
clip.play(volume);
System.out.println("Played:" + filename);
}
}.start();
}
catch (Exception e) {
System.out.println("Error: Playing:" + filename);
e.printStackTrace();
}
}
}
Ich hab mir überlegt einfach am anfang des Threads die variable is playing auf true zu setzen und danach wieder auf False, aber aufgrund der Tatsache dass wieder ein neuer Thread gestartet wird scheint das nicht zu funktionieren.
Jetzt hab ich mir noch überlegt eine extra Methode loopPlay zu schreiben die einen Sound solange abspielt bis diese besagt Variable wieder auf false gesetzt ist
Momentan sieht sie so aus, was aber nicht wirklich zielführend ist...
Java:
public void loopPlay(){
if (!isPlayingsound()) {
try {
setPlayingsound(true);
System.out.println("Try playing:" + filename);
new Thread() {
public void run() {
clip.play();
System.out.println("Played:" + filename);
}
}.start();
} catch (Exception e) {
System.out.println("Error: Playing:" + filename);
e.printStackTrace();
}
setPlayingsound(false);
}
}
Über Anregungen und Hilfen würde ich mich freuen
Danke schonmal im Vorraus
Zuletzt bearbeitet: