Prob. mit Millisecs()

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Sir Dan

Betreff: Prob. mit Millisecs()

BeitragMi, Apr 13, 2005 21:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Ich hab hier ein Code:

BlitzBasic: [AUSKLAPPEN]

Global oldtime = MilliSecs()
Global schritt = LoadSound(\"schritt.wav\")
Repeat
(...)
Function schritt_sound()
oldtime = MilliSecs()
move = False
If KeyDown(key) move = True
Repeat
If MilliSecs() - oldtime > 1000 If move = True PlaySound schritt
Until MilliSecs() - oldtime > 1000
End Function


Aber irgendwie wird der Sound nie abgespielt.
Was mache ich Falsch?
Bitte um Hilfe
(\_/)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.
 

Timo

BeitragMi, Apr 13, 2005 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm... da sind so einige außergewöhnliche Dinge in deinem Code Wink

BlitzBasic: [AUSKLAPPEN]


Global oldtime = MilliSecs()
Global schritt = LoadSound(\"schritt.wav\")
Repeat
(...)

Function schritt_sound()
If KeyDown(key) move = True Else move = False
If MilliSecs() - oldtime > 1000 Then
If move Then PlaySound schritt
oldtime = MilliSecs()
EndIf
End Function


so müssts eigentlich gehen. Deine eigentliche Schleife fängt ja über (...) an. In den anderen Funktionen, u.a. auch in schritt_sound() solltests du keine weiteren schleifen reinpacken, die das spiel unnötig aufhalten (soll nicht heißen, das da überhaupt keine hingehören !! Wink )
Wenn du diese Funktion einmal pro Schleifendurchlauf aufrufst, müsste es klappen.. Smile

Hubsi

BeitragMi, Apr 13, 2005 21:45
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
Repeat
If MilliSecs() - oldtime > 1000 If move = True PlaySound schritt
Until MilliSecs() - oldtime > 1000
Vermutung: Die Sekunde ist dummerweise ausgerechnet dann vorbei wenn er an das Until kommt und somit die Schleife verlässt. Müsste zwar theoretisch zumindest gelegentlich den Sound spielen, aber einen anderen Fehler find ich auf die Schnelle nicht Very Happy

Zu lahm... Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Sir Dan

BeitragMi, Apr 13, 2005 21:54
Antworten mit Zitat
Benutzer-Profile anzeigen
danke!
Jetzt geht es!
(\_/)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.

Sir Dan

BeitragMi, Apr 13, 2005 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Und noch eine Frage zu b3d:
Gibt es eine Möglichkeit Zeit beim laden eines Meshes zu sparen?(auch für Sprites?)
Hier ein anderer ausschnitt:
BlitzBasic: [AUSKLAPPEN]

SeedRnd MilliSecs()
gras1(0) = LoadMesh(\"baum_meshs\chunk_28.x\")
gras2(0) = LoadMesh(\"baum_meshs\chunk_19.x\")
gras3(0) = LoadMesh(\"baum_meshs\chunk_13.x\")
For 1 = 0 To 5000
gras1(g) = CopyMesh(gras1(0))
gras2(g) = CopyMesh(gras2(0))
gras3(g) = CopyMesh(gras3(0))
gr1a = Rand(20,35)
gr1b = Rand(8,16)
gr2a = Rand(20,35)
gr2b = Rand(8,16)
gr3a = Rand(20,35)
gr3b = Rand(8,16)
ScaleSprite gras1(g),gr1a,gr1b
ScaleSprite gras2(g),gr2a,gr2b
ScaleSprite gras3(g),gr3a,gr3b
Next

edit: Ich hab grad was verwechselt, hier der richtige Code
(\_/)
(O.o)
(> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination.
 

Dreamora

BeitragMi, Apr 13, 2005 22:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, eine Möglichkeit gibt es nicht. Deswegen lädt man alle benötigen Daten zum Levelstart und nicht während tatsächlich etwas geschieht.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group