Guten Tach,
ich bin ganz neu hier, beschäftige mich aber seit bereits über 5 Jahren mit JS. Neben dem normalen HP-Stuff schreibe ich vor allem kleine Spiele, die ich auf meiner HP anbiete. Seit neuestem auch mit einer Tonausgabe über HTML5.
Und jetzt meine Frage: Wie kann ich einen gleichen Ton mehrfach parallel ausgeben. Wenn ich z,B. Schritte akustisch darstellen möchte und ein Ton dazu 1/2s (mit Ausklang) dauert, so muss ich immer diese 1/2s warten, bis ich den gleichen Ton erneut ausgeben kann. Rufe ich ihn vor dem vollständigen Abspielen erneut auf, passiert nämlich gar nichts. Drückt nun ein Spieler permanent die Cursortaste und die Tastatur hat eine Wiederholrate von 30, so müsste dieser Ton aber 30 Mal in einer Sekunde ausgegeben werden.
Mein aktueller Ansatz ist, den gleichen Ton mehrmals zu laden und dann so ausgeben: Ton1, Ton2, Ton3 ... Ton15, Ton1, Ton2 ... Das funktioniert zwar, erscheint mir aber sehr umständlich. Ein weiterer Ansatz ist, immer vor einer neuen Tonausgabe, den alten Ton zu löschen. Auch das geht, hört sich aber absolut abgehackt an.
Kennt jemand eine elegantere Lösung?
LG Yogilein
ich bin ganz neu hier, beschäftige mich aber seit bereits über 5 Jahren mit JS. Neben dem normalen HP-Stuff schreibe ich vor allem kleine Spiele, die ich auf meiner HP anbiete. Seit neuestem auch mit einer Tonausgabe über HTML5.
Und jetzt meine Frage: Wie kann ich einen gleichen Ton mehrfach parallel ausgeben. Wenn ich z,B. Schritte akustisch darstellen möchte und ein Ton dazu 1/2s (mit Ausklang) dauert, so muss ich immer diese 1/2s warten, bis ich den gleichen Ton erneut ausgeben kann. Rufe ich ihn vor dem vollständigen Abspielen erneut auf, passiert nämlich gar nichts. Drückt nun ein Spieler permanent die Cursortaste und die Tastatur hat eine Wiederholrate von 30, so müsste dieser Ton aber 30 Mal in einer Sekunde ausgegeben werden.
Mein aktueller Ansatz ist, den gleichen Ton mehrmals zu laden und dann so ausgeben: Ton1, Ton2, Ton3 ... Ton15, Ton1, Ton2 ... Das funktioniert zwar, erscheint mir aber sehr umständlich. Ein weiterer Ansatz ist, immer vor einer neuen Tonausgabe, den alten Ton zu löschen. Auch das geht, hört sich aber absolut abgehackt an.
Kennt jemand eine elegantere Lösung?
LG Yogilein