Problem mit Code

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Claudio

Betreff: Problem mit Code

BeitragSa, März 22, 2008 12:49
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, März 22, 2008 13:06
Antworten mit Zitat
Benutzer-Profile anzeigen
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.
 

Claudio

Betreff: Problem mit Code

BeitragSa, März 22, 2008 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, März 22, 2008 15:21
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, März 22, 2008 15:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso benutzt du 2 verschiedene channels?
es wird doch nur einer gebraucht...

THE SHARK
 

Tritium

BeitragSa, März 22, 2008 15:37
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Confused
 

Claudio

Betreff: Problem mit Code

BeitragSa, März 22, 2008 18:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi! Kannst du mir bitte erklären, warum du dort eine While-Schleife nimmst?

Eingeproggt

BeitragSa, März 22, 2008 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Smile

Thorsten

BeitragSa, März 22, 2008 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, März 22, 2008 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
?

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

BeitragSa, März 22, 2008 20:35
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Smile


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.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group