Mehrere Sounds hintereinander

Fragen zu "Adventure Game Studio"? Hier rein!
Antworten
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Mehrere Sounds hintereinander

Beitrag von Fightmeyer »

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??
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

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"
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Ich hab´s doch gewußt, auf Sinitrena ist Verlaß. Danke. Werd ich nachher gleich mal ausprobieren.
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

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???
Benutzeravatar
Sinitrena
Tastatursteuerer
Tastatursteuerer
Beiträge: 678
Registriert: 08.05.2004, 01:01
Wohnort: Frankfurt
Kontaktdaten:

Beitrag von Sinitrena »

Das funzt schonmal. Obwohl ich eigentlich nciht wait nehmen will, sondenr lieber so was in der Art wie "Do nothing" Gibts so einen Befehl???
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)

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 :wink:
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"
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

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 :wink:
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?
Benutzeravatar
Fightmeyer
Riesiger Roboteraffe
Riesiger Roboteraffe
Beiträge: 7308
Registriert: 16.12.2004, 22:51
Wohnort: Potsdam
Kontaktdaten:

Beitrag von Fightmeyer »

Hab mir jetzt anders beholfen. Beide Sounds zu einem zusammengefügt und dann funzt es über die Scriptbausteine. Ist zwar ein bißchen mehr Aufwand, aber der Fall kommt ja relativ selten vor.
Antworten