Problem mit Code
Übersicht

ClaudioBetreff: Problem mit Code |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo zusammen!
Ich habe folgendes Problem mit diesem Code: start coding CH1 = PlaySound(SN1) Repeat ChannelPlaying(CH1) Until KeyDown(31) CH2 = PlaySound(SN2) end coding. Eigentlich sollte ja wenn ich S drücke der zweite Sound abgespielt werden, es passiert jedoch nichts! Kann mir da jemand helfen? Gruss, Claudio. |
||
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mit ChannelPlaying() überprüfst Du nur, ob der Kanal noch spielt oder nicht. Du prüfst in Deiner Schleife also ständig, ob der Sound gespielt wird. Wenn Du bei PlaySound() nichts hörst, solltest Du überprüfen, ob der Sound überhaupt geladen wurde. | ||
ClaudioBetreff: Problem mit Code |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo! Der erste Sound wird gespielt, der zweite jedoch nicht. Was ich eigentlich will: Ich möchte das der erste sound sich solange widerholt bis die Taste S gedrückt wird. Wenn dann die Taste S gedrückt wird sollte ein anderer Sound anfangen zu spielen und der erste sollte aufhören. Wie muss ich das genau machen? Gruss, Claudio. | ||
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich würd das so irgendwie lösen:
Code: [AUSKLAPPEN] sound1 = LoadSound("sound1.wav")
sound2 = LoadSound("sound2.wav") LoopSound sound1 chn1 = PlaySound sound1 While Not KeyDown(31) Wend StopChannel chn1 chn2 = PlaySound sound2 |
||
![]() |
The Shark |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wieso benutzt du 2 verschiedene channels?
es wird doch nur einer gebraucht... THE SHARK |
||
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
The Shark hat Folgendes geschrieben: Wieso benutzt du 2 verschiedene channels?
es wird doch nur einer gebraucht... THE SHARK Stimmt...hab ich nicht dran gedacht ![]() |
||
ClaudioBetreff: Problem mit Code |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi! Kannst du mir bitte erklären, warum du dort eine While-Schleife nimmst? | ||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es gibt sogenannte abweisende Schleifen, While ist so eine. Wenn die bedingung nicht erfüllt ist, wird sie kein einziges mal durchlaufen. Die Repeat-Schleife wird einmal durchlaufen, da die Bedingung erst am Schluss ausgewertet wird.
Das dürfte der grund gewesen sein. Oder einfach Gewohnheit ![]() |
||
![]() |
Thorsten |
![]() Antworten mit Zitat ![]() |
---|---|---|
Leute, wieso muss man euch immer beim Bullshit labern erwischen?
Mit der Schleife hat das doch überhaupt nichts zu tun. Wahrscheinlich läuft die Schleife einfach im Leerlauf durch (weil nichts zu tun ist) und das Programm hängt sich selber auf. mfG, Thorsten |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
?
Wieso hängt sich das Prog auf, wenn in der Schleife nix getan wird? Ich hau in solchen Fällen immer ein Delay 10 oder so rein, WENN ich solche Warteschleifen überhaupt brauche. Aber zu Demonstrationszwecken kann man doch so leere warteschleifen machen. Und ich hab ihm außerdem nur den unterschied zwischen While und Repeat erklärt. |
||
Tritium |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Eingeproggt hat Folgendes geschrieben: Es gibt sogenannte abweisende Schleifen, While ist so eine. Wenn die bedingung nicht erfüllt ist, wird sie kein einziges mal durchlaufen. Die Repeat-Schleife wird einmal durchlaufen, da die Bedingung erst am Schluss ausgewertet wird.
Das dürfte der grund gewesen sein. Oder einfach Gewohnheit ![]() Genau aus dem Grund habe ich die Schleife genommen. Bei BlitzBasic ist es eigentlich egal, ob ich in diesem Fall eine while- oder eine repeat-Schleife benutze. Rein programmiertechnisch ist eine while-Schleife aber sinnvoller. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group