Achtung:Noob-Frage (Sounds einmal spielen)
Übersicht BlitzBasic
 BlitzBasic  Allgemein
 Allgemein| sonicfireBetreff: Achtung:Noob-Frage (Sounds einmal spielen) |  Fr, Sep 15, 2006 13:25 Antworten mit Zitat   | |
|---|---|---|
| Servuus!   Ich weiss, das ist ein wenig "noobish" - aber: Ich habe folgendes: Code: [AUSKLAPPEN] while not keyhit(1) if frame=0 then emitsound(snd1,camera) if frame=1 then emitsound(snd1,camera) if frame=2 then emitsound(snd1,camera) wend So, "Frame" schaltet jede Sekunde aufs näcshte um (0...1...2....0...1...2...0... usw). Klar, das jetzt der Sound in der Schleife dutzende male abgespielt wird. Problemchen: Will ihn bei jedem Frame-wechsel nur einmal direkt abspielen lassen und dann nicht mehr. *G* Ich weiss, das ich locker selbst darauf kommen müsste, unter Verwendung von einer Status-Variable oder so ..aber .....im moment habe ich wohl eine kleine Denkblockade. So, wer kann helfen?  Was wäre der einfachste Weg ohne viele Check-Variablen? *hust*   EDIT: Achso und ich bitte um Verzeihung, das wurde garantiert schon x-mal gefragt   | ||
| ~sonic | ||
|   | Jan_Ehemaliger AdminBetreff: Re: Achtung:Noob-Frage (Sounds einmal spielen) |  Fr, Sep 15, 2006 13:43 Antworten mit Zitat   | 
|---|---|---|
| Code:  [AUSKLAPPEN] while not keyhit(1) if frame=0 and b1=0 then emitsound(snd1,camera):b1=1 if frame=1 and b2=0 then emitsound(snd1,camera):b2=1 if frame=2 and b3=0 then emitsound(snd1,camera):b3=1 wend | ||
| between angels and insects | ||
| sonicfire |  Fr, Sep 15, 2006 13:46 Antworten mit Zitat   | |
|---|---|---|
| Danke Jan_ , aber das ändert rein gar nichts?     | ||
| ~sonic | ||
|   | Schranz0r |  Fr, Sep 15, 2006 13:54 Antworten mit Zitat   | 
|---|---|---|
| dann hast du was falsch gemacht, ganz einfach! Poste mal den ganzen code, bzw. den wichtigen zu deiner Frage. | ||
| !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!HAUPTSACH et kost VIEL!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
| sonicfire |  Fr, Sep 15, 2006 14:08 Antworten mit Zitat   | |
|---|---|---|
| Okay, mein Fehler, eben. Das Problem ist einfach: Der passende Sound sollte ja einfach einmal bei jedem Framewechsel gespielt werden... und dann eben immer und immer wieder nur eben nicht 60 mal pro sekunde  (wegen der schleife) Code: (innerhalb schleife) Code: [AUSKLAPPEN] frame=MilliSecs()/1000 Mod 3 EntityTexture tporters\entity,tpstandtex,frame PositionEntity tporters\sprite,tporters\x,tporters\y+tporters\offset+frame*2,tporters\z If frame=0 And b1=0 Then EmitSound(snd_tport2,camera):b1=1 If frame=1 And b2=0 Then EmitSound(snd_tport3,camera):b2=1 If frame=2 And b3=0 Then EmitSound(snd_tport4,camera):b3=1 Edit: Aber so kann es doch auch nicht gehen, da ja b1,b2 und b3 wieder zurück auf Null gesetzt werden müssten... hmm... Quasi: frame ist 0? dann spiele einmal sound1 frame ist 1? dann spiele einmal sound2 frame ist 2? dann spiele einmal sound3 frame ist wieder 0? dann spiele wieder einmal sound1 usw... | ||
| ~sonic | ||
| Dreamora |  Fr, Sep 15, 2006 14:20 Antworten mit Zitat   | |
|---|---|---|
| Du sagtest die Sounds sollen 1x abgespielt werden. Wenn du die Sounds bei jedem Framewechsel startest ist das einzige was du hörst ein knattern. Da müsstest du dann schon ChannelPlaying miteinbeziehen etc (vor allem auch weil du sonst einen schönen Programm Crash haben wirst wegen zuvielen Channels simultan) | ||
| Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. | ||
| sonicfire |  Fr, Sep 15, 2006 14:25 Antworten mit Zitat   | |
|---|---|---|
| Stimmt, mein Fehler, hab mich ein wenig doof ausgedrückt   EDIT: Wie soll ich ChannelPlaying mit einbeziehen wenn ich den zurückgegebenen Kanal von EmitSound noch gar nicht kenne? Seufz... hmm...grübel | ||
| ~sonic | ||
| sonicfire |  Fr, Sep 15, 2006 14:36 Antworten mit Zitat   | |
|---|---|---|
| Ta-Da!!   Code: [AUSKLAPPEN] global preframe=1 (...) Function spielmal() If frame=0 And preframe<>frame Then EmitSound(snd_tport2,camera) : preframe=frame If frame=1 And preframe<>frame Then EmitSound(snd_tport3,camera) : preframe=frame If frame=2 And preframe<>frame Then EmitSound(snd_tport4,camera) : preframe=frame End Function | ||
| ~sonic | ||
| Dreamora |  Fr, Sep 15, 2006 14:58 Antworten mit Zitat   | |
|---|---|---|
| Wie mit einbeziehen: Indem du ihn einer globalen Variable zuweist, wie "CurrentChannel" oder sowas. | ||
| Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. | ||
Übersicht
 BlitzBasic
 BlitzBasic  Allgemein
 Allgemein
					Powered by phpBB © 2001 - 2006, phpBB Group
				



