Schrittgeräusche

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Fuchsi

Betreff: Schrittgeräusche

BeitragSo, März 12, 2006 11:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin !
Ich hab ein Problem. Ich bin dabei ein Spiel zu machen. Klingt komisch, is aber so. Aber wenn ich die Laufgeräusche von meiner Spielfigur abspielen will, dann wird der Sound so oft abgespielt, dass es fuchtbar klingt.
Zurzeit mach ich es so:

Code: [AUSKLAPPEN]

If KeyDown(17) Or KeyDown(30) Or KeyDown(31) Or KeyDown(32) Then
If EntityCollided(player,2) Then
   PlaySound(run)      
EndIf
EndIf


Weiß wer von ich wie ich das vermeiden kann ?

Gruß Fuchsi !

Last Anquav Hero

BeitragSo, März 12, 2006 12:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß garnicht ob das das richtige forum ist, aber probier dochmal qlchannelplaying
und erst wenn 0 returnt wird, dann kann der soudn wieder abgespielt werden Smile oder pass die soundlänge an die schrittgeschwindigkeit an (qlchannelpitch)

d-bug

BeitragSo, März 12, 2006 12:21
Antworten mit Zitat
Benutzer-Profile anzeigen
~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.


ne, mit Sicherheit der falsche Topic Wink
d-bug
 

HW

BeitragSo, März 12, 2006 12:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest auch ql:loopsound nehmen, wenn ich mich nicht irre.
 

Doni

BeitragSo, März 12, 2006 12:55
Antworten mit Zitat
Benutzer-Profile anzeigen
oder einfach Millisecs()!

Last Anquav Hero

BeitragSo, März 12, 2006 13:04
Antworten mit Zitat
Benutzer-Profile anzeigen
millisecs hat damit nur wenig zu tun Wink
loopsound ist auch eine gute idee... aber man muss loopsound wieder ausmacehn wenn nicht gegangen wird und dann muss man eine extra prüfroutine machen

Fuchsi

BeitragSo, März 12, 2006 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit "CANNELPLAYING" hab ich´s schon probiert, aber das geht nich recht
gut. Und "LOOPSOUND" funktioniert bei mir auch nicht.
Trotzdem Danke !

Hubsi

BeitragSo, März 12, 2006 18:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
if not channelplaying(chn) chn=playsound(whatever)
So gehts? Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Fuchsi

BeitragSo, März 12, 2006 18:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein leider nicht.

x-pressive

BeitragMi, März 15, 2006 11:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Variable, in der du den Channel speicherst (in dem Fall "chn") sollte eine globale Variable sein:

Global Chn%

Ich würde mal empfehlen, daß du MilliSecs() benutzt und alle, sagen wir, 1000 Millisekunden das Geräusch abspielst. Wenn du das wie folgt machst, brauchst du nicht mal eine Channel-Abfrage:

Code: [AUSKLAPPEN]

Const STEPPAUSE%  = 1000 ; PAUSE ZWISCHEN SCHRITTEN

Global Snd_Step%  = LoadSound(...)
Global gLastStep% = MilliSecs()


; HAUPTSCHLEIFE
While Not KeyHit(1)

   ; SCHRITTGERÄUSCH
   If MilliSecs() - gLastStep > STEPPAUSE Then
      gLastStep = MilliSecs()
      PlaySound Snd_Step
   End If

Wend
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

StepTiger

BeitragMi, März 15, 2006 23:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich nehme an du lässt deinen Menschen die ganze Zeit mit dem Boden kollidieren oder?

Das heißt, dein Mensch ist die ganze Zeit mit dem Boden kollidiert! Also wenn dann müsstest du eine globale variable machen, die 1 ist wenn du läufst und 0 wenn nicht.

wenn du animationen hast, dann geht das auch mit animtime() musst mal schauen!

Also sonst ginge noch sowas wie:

Code: [AUSKLAPPEN]

global move=0

...

if keydown(200)
 moveentity x,0,0,5
 move=1
else
 move=0
endif

...

if move=1
 if millisecs()>ttt
  ttt=Millisecs()+500
  PlaySound movesound
 endif
endif

...

Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.

x-pressive

BeitragDo, März 16, 2006 9:52
Antworten mit Zitat
Benutzer-Profile anzeigen
AnimTime würde ich nicht unbedingt benutzen, da man sich später eventuell noch mal dazu entschliesst, die Animation zu verändern, zu verkürzen etc. und dann eine Abhängigkeit im Code hat. Besser ist es, unabhängig von der Animation nach Zeit zu gehen.
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Fuchsi

BeitragDo, März 16, 2006 10:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Thx x-prssive Very Happy Funktioniert super !
Ich musste nur die steppause halbieren .

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group