Tastendruck Länge

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

BigPingu

Betreff: Tastendruck Länge

BeitragSo, Aug 24, 2008 1:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich verzweifele gerade daran wie ich es hinbekomme, das ein Wert größer angesetzt wird, umso länger eine Taste gedrückt wird. Das ganze ist für mein Jump&Run, und soll 2 verschiedene Sprunghöhen ermöglichen.

Ich hab es im Moment so, das beim Tastendruck die Zeit gespeichert wird und dann abgeglichen wird ob sie länger als 1 sec gedrückt wurde oder nicht. Das ganze Funktioniert aber nicht so wie ich das will da, der Spieler dann in den Himmel düst. Ist ja auch klar schließlich wird "jumptemp" ja auch immer wieder neu auf 15 gesetzt, weil "tmr_jumphigh = MilliSecs()" falsch gesetzt ist.

Code: [AUSKLAPPEN]

   If KeyDown(key_jump) Then
      tmr_jumphigh = MilliSecs()
      
      If MilliSecs() >= tmr_jumphigh + 1000 Then
         jumptemp = 15        ; Srung Höhe
      Else
         jumptemp = 9
      EndIf
      If jumpcheck = False Then jumpcheck = True
   EndIf
Meine Projekte:
Blockhead : 80%
VideoGameTycoon : 40%

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSo, Aug 24, 2008 1:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Setz doch eine geringere Gravitation solange die Sprungtatse gedrückt wird.

Hier ein Beispiel:

Code: [AUSKLAPPEN]
Graphics 800,600,0,2
SetBuffer BackBuffer()

Local Timer=CreateTimer(75)
Local YP#
Local YG#




While Not KeyHit(1)
   If KeyDown(57) Then
      If YP=400 Then
         YG=-5
      End If
      YG=YG+0.1
   Else
      YG=YG+0.2
   End If
   
   If YP>400 Then YP=400:YG=0
   YP=YP+YG
   
   Rect 200,YP,10,10,1
   
   WaitTimer(Timer)
   Flip 0
   Cls
Wend
End
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

BigPingu

BeitragSo, Aug 24, 2008 2:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist natürlich schwer genial. Danke. Da hab ich wohl ein bisschen zu kompliziert gedacht Laughing
Meine Projekte:
Blockhead : 80%
VideoGameTycoon : 40%

ToeB

BeitragSo, Aug 24, 2008 9:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Und ein bisschen falsch... Weil wenn du schreibst :
Code: [AUSKLAPPEN]
If KeyDown(key_jump) then
tmr_jumphigh = Millisecs()


Dann wird ja jéden schleifen durchgang die Variable auf Millisecs() aktualliersiert, das heißt das kann NIE <= Millisecs() sein !

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

BigPingu

BeitragSo, Aug 24, 2008 9:52
Antworten mit Zitat
Benutzer-Profile anzeigen
ToeB hat Folgendes geschrieben:
Und ein bisschen falsch... Weil wenn du schreibst :
Code: [AUSKLAPPEN]
If KeyDown(key_jump) then
tmr_jumphigh = Millisecs()


Dann wird ja jéden schleifen durchgang die Variable auf Millisecs() aktualliersiert, das heißt das kann NIE <= Millisecs() sein !

mfg ToeB


Jap das ist mir ca 5min später auch aufgefallen, hat ich dann ja noch rein geschrieben.
Meine Projekte:
Blockhead : 80%
VideoGameTycoon : 40%

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group