Mehrere Sounds hintereinander
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
Mehrere Sounds hintereinander
Hallo!
Hab folgendes Problem. Mein Charakter soll n bißchen was quatschen, dann soll ein Sound gestartet werden und gleichzeitig ne Animation ablaufen. Bis dahin kein Problem. Nach dem ersten Sound soll aber noch ein zweiter laufen. Das Problem ist nun, daß er den ersten Sound nicht zu Ende abspielt, sondern gleich mit dem zweiten weitermacht. Wie kann man das in "Reihe" schalten?? Daß die Sounds hintereinander abgespielt werden??
Hab folgendes Problem. Mein Charakter soll n bißchen was quatschen, dann soll ein Sound gestartet werden und gleichzeitig ne Animation ablaufen. Bis dahin kein Problem. Nach dem ersten Sound soll aber noch ein zweiter laufen. Das Problem ist nun, daß er den ersten Sound nicht zu Ende abspielt, sondern gleich mit dem zweiten weitermacht. Wie kann man das in "Reihe" schalten?? Daß die Sounds hintereinander abgespielt werden??
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Ich glaube, damit kommst du weiter (bin zu faul zum erklären):
IsSoundPlaying
IsSoundPlaying ()
Returns 1 if there is currently a sound effect playing. This could be a manually started sound (eg. with PlaySound) or an automatic sound (eg. with GiveScore).
If the sound has finished, or none was played, returns 0.
NOTE: Be careful with this function for actions like looping sounds, since if the user doesn't have a sound card this will always return 0.
NOTE: This function does not report if background music or ambient sounds are playing.
Example:
if (IsSoundPlaying()==0)
PlaySound(20);
will play sound20 if no sound is playing.
See Also: GetCurrentMusic, IsChannelPlaying
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
Hat zum Teil funktioniert...
Hab folgenden Code verwendet.
PlaySound(2);
while (IsSoundPlaying()==1 ) {
Wait(1);
}
PlaySound(3);
}
Das funzt schonmal. Obwohl ich eigentlich nciht wait nehmen will, sondenr lieber so was in der Art wie "Do nothing" Gibts so einen Befehl???
Jetzt nochmal zum eigentlichen Problem. Ich arbeite eigentlich eher wenigs mit dem Scipt, sondern vielmer mit den vorgefertigten Scripts aus AGS ("Game - DisplayMessage") und dergleichen.
Zwischendrin hab ich nun "RunScipt" zu stehen mit obenbeschriebenen Code. Das Problem ist allerdings, daß er erst die anderen Befehle abarbeitet und dann mein "Run Script". Obwohl das mittendrin steht. Wie kann ich das verhindern???
Hab folgenden Code verwendet.
PlaySound(2);
while (IsSoundPlaying()==1 ) {
Wait(1);
}
PlaySound(3);
}
Das funzt schonmal. Obwohl ich eigentlich nciht wait nehmen will, sondenr lieber so was in der Art wie "Do nothing" Gibts so einen Befehl???
Jetzt nochmal zum eigentlichen Problem. Ich arbeite eigentlich eher wenigs mit dem Scipt, sondern vielmer mit den vorgefertigten Scripts aus AGS ("Game - DisplayMessage") und dergleichen.
Zwischendrin hab ich nun "RunScipt" zu stehen mit obenbeschriebenen Code. Das Problem ist allerdings, daß er erst die anderen Befehle abarbeitet und dann mein "Run Script". Obwohl das mittendrin steht. Wie kann ich das verhindern???
- Sinitrena
- Tastatursteuerer
- Beiträge: 678
- Registriert: 08.05.2004, 01:01
- Wohnort: Frankfurt
- Kontaktdaten:
Man kann wait häufig durch einen Timer ersetzen, allerdings macht das sehr viel mehr arbeit und ich würde es in dem Fall auch eigentlich nicht empfehlen, weil es wohl hier keinen zwingenden Grund dafür gibt. Ich macht das manchmal, wenn ich mehr Kontrolle über das warten haben muss. (größtes Problem daran ist, das es nur 20 Timer gibt und das knapp werden kann, wenn man es zu oft verwendet)Das funzt schonmal. Obwohl ich eigentlich nciht wait nehmen will, sondenr lieber so was in der Art wie "Do nothing" Gibts so einen Befehl???
Deine andere Frage kann ich nicht beantworten, ich benutze nur Script und nicht das voreingestellte Zeug
EDIT: Wie du das verhindern kannst? Ganz einfach, stell alles komplkett auf RunScript um
http://www.sinitrena.de.vu Meine Spiele: "A very special dog", "A magic stone", "James Bond - Who wants to live again?", "Lonely Night", "Death of an Angel", "The Witch, the Wizard and the Blue Cup", "Emerald Eyes"
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten:
Oooh Nein! Ich hab jetzt schon über 15 Räume fertig. Ich will die jetzt nciht alle auf Run Script umstellen müssen. Hat denn kein anderer ne Idee?Sinitrena hat geschrieben:Deine andere Frage kann ich nicht beantworten, ich benutze nur Script und nicht das voreingestellte Zeug
EDIT: Wie du das verhindern kannst? Ganz einfach, stell alles komplkett auf RunScript um
- Fightmeyer
- Riesiger Roboteraffe
- Beiträge: 7308
- Registriert: 16.12.2004, 22:51
- Wohnort: Potsdam
- Kontaktdaten: