Überschelle Eingabe

Previous topic - Next topic

WPShadow

Hi!

Zum Thema Tanzmattenwettbewerb:

Wie kann ich die Eingabe der Tanzmatte so steuern, daß sie nicht extrem schnell in eine Richtung läuft, wenn man mehr als eine halbe Sekunde drauf ist?

Was ich damit meine ist folgendes: Am Keyboard klickt man kurz mal nach links oder rechts und springt ein Feld weiter, doch im nächsten Augenblick hängt man auch schon am Rand. Gibt es irgendeinen Weg, das Ganze zu verlangsamen, sodaß man nur einmal draufdrücken kann und es so nur ein Kästchen springt ohne gleich durch den Bildschirmrand zu knallen???

Ich haben den Code für die Eingabe aus deiner Funktion genommen:

http://www.glbasic.com/forum/viewtopic.php?id=213

GLG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

BumbleBee

Wenn ich dich richtig verstanden hab, dann soll man die Taste immer wieder drücken müssen.
Das ist ganz einfach. Du läßt eine zweite Variable mitlaufen, die prüft, ob die Taste schon gedrückt wurde.

Im folgenden Beispiel musst du immer wieder die Leertaste drücken um die Box zu bewegen.

Code (glbasic) Select
Space_Down=FALSE
x=200            //x-Startwert für die Box
           
            //Loop
WHILE TRUE
   
   IF KEY(57)=TRUE AND Space_Down=FALSE
     x=x+10
     Space_Down=TRUE
   ENDIF
 
   IF KEY(57)=FALSE THEN Space_Down=FALSE
 
   FILLRECT x,200,x+20,220,RGB(255,255,255)
   
  SHOWSCREEN
WEND
Kann man wohl noch anders machen. Aber ist schon 00:45 und ich kann kaum noch klar denken.
Musst es halt für die Tasten umändern die du in deinem Programm benutzt.
Ich hoffe das war's was du gesucht hast.

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

Kitty Hello

ich mach's so:
Code (glbasic) Select
DIM keydown[8][12] // [spieler][taste]

MatState(mat[])
FOR i=0 TO 11
   IF mat[i]=FALSE
     keydown[ply][i]=FALSE
   ELSE
     IF keydown[ply][i]
         mat[ply][i]=FALSE
     ELSE
         keydown[ply][i] = TRUE
     ENDIF
   ENDIF
(ungeestet, nur schnell ausm Hirn)

WPShadow

Danke für die Tips!

Habe mit für deine Version entschieden, BumbleBee. Die ist im Programm übersichtlicher!

Danke für die Hilfe von euch beiden! :-)

GLG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est