gedrückte taste auslesen

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

SupeRalF

Betreff: gedrückte taste auslesen

BeitragSo, Jan 27, 2008 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
ich möchte gerne mit meinem programm überprüfen, ob gerade keine Taste gedrückt ist. wie stell ich das an? ich müsste eigentlich ja nur gucken, ob die gedrückte taste=0 ist. aber wie geht das?

BtbN

BeitragSo, Jan 27, 2008 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
If Not KeyDown(#X) Then ?

skey-z

BeitragMo, Jan 28, 2008 0:19
Antworten mit Zitat
Benutzer-Profile anzeigen
für alle tasten
if getkey()=0
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter

SupeRalF

BeitragMo, Jan 28, 2008 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
geht nicht! er sagt immer:
Idetifier "getkey" not found
brauch ich da irgendeine kleine erweiterug oder so?
 

Dreamora

BeitragMo, Jan 28, 2008 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du die Demo hast: Dann wirds eh net gehen, die ist total veraltet.
Steht auch oben gross im Sticky, das fragen von Demo Usern nichts bringen weil wir seit 1.5 Jahren eure Bugs nimmer haben, die wurden mit 1.16 gefixt
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

SupeRalF

BeitragMo, Jan 28, 2008 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
vielen dank, das hatte ich mir auch vorher durchgelesen und mir die vollversion 1.2 geholt. geht aber auch nicht besser.

Ich habe eben sogar das programm noch einmal komplett deinstalliert, die noch vorhandenen Dateien des Installationsordners gelöscht und anschließend neuinstalliert. etwas gebracht hats aber nicht!

Schnittlauch

Unkraut

BeitragMo, Jan 28, 2008 22:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du die Vollversion hast würde ich dir raten auch alle Updates runterzuladen und zu Installieren und die Module zu Syncronisieren.
Ich wars nicht.
 

Dreamora

BeitragMo, Jan 28, 2008 22:15
Antworten mit Zitat
Benutzer-Profile anzeigen
SupeRalF hat Folgendes geschrieben:
vielen dank, das hatte ich mir auch vorher durchgelesen und mir die vollversion 1.2 geholt. geht aber auch nicht besser.


Die aktuelle Version ist 1.28, nicht 1.2

1.18 ist die, die du installierst. Danach Patch installieren und du bist auf 1.28
Den Patch findest du in deinem BM account wo du schon den installer gefunden hast.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

SupeRalF

BeitragMo, Jan 28, 2008 22:49
Antworten mit Zitat
Benutzer-Profile anzeigen
den neuen patch hab ich mir jetzt runtergeladen. die modules habe ich auch synchronisiert. mein test-quelltext sieht jetzt so aus:
user posted image
das getkey wird auch nicht gelb... und es funktioniert immer noch nicht. kann das daran liegen, dass ich erst auf 1.2 und anschließend auf 1.28 gepatcht habe? oder fehtl mir sonst noch was? (den haken bei den user contributed modules hab ich angemacht beim synchronisieren)

D2006

Administrator

BeitragDi, Jan 29, 2008 1:02
Antworten mit Zitat
Benutzer-Profile anzeigen
GetKey ist auch BlitzBasic. Das Pendant unter BMax heißt GetChar. Allerdings kriegst du damit glaub ich nich raus, wenn eine Steuerungstaste gedrückt. Also STRG, oder ne Pfeiltaste oder so. Und in deinem Code wird der Text nur kurz flackern, wenn du eine andere Taste drückst.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2
 

Dreamora

BeitragDi, Jan 29, 2008 1:07
Antworten mit Zitat
Benutzer-Profile anzeigen
jupp, für die keystates sind effektiv keydown() gedacht, was nichts anderes macht als einen wert aus einem array auszulesen
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

SupeRalF

BeitragDi, Jan 29, 2008 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
ehrlich gesagt, hat mich das alles etwas sehr verwirrt. deshalb hier mein anwendungs-wunsch: wenn keine Taste gedrückt wird, dann soll die spielfigur ein paar kleine warte-animationen ausführen. welchen befehl brauch ich denn nun dafür?
wäre nett, wenn jemand ein kleines code-stückchen posten könnte...
 

Shark

BeitragDi, Jan 29, 2008 21:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Das könntest du ganz einfach machen, indem du eine Abfrage machst z.b.

Pseudo-code:
Code: [AUSKLAPPEN]
if keydown(Key_D) then
      rechtsbewegen
endif

if keydown(Key_A) then
     linksbewegen
endif

if not keydown(Key_D) and not keydown(Key_A) then
     stehanimation
endif

SupeRalF

BeitragDi, Jan 29, 2008 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
na ok, danke! Smile

so hätt ich das warscheinlich auch gemacht, aber ich wollte es mir halt bewquem machen... ^^
 

Shark

BeitragDi, Jan 29, 2008 22:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm
meine obrige Variante ist wohl schreib aufwendig Laughing
Hier ist mal ne einfachere Lösung Very Happy
Code: [AUSKLAPPEN]
If KeyDown(KEY_R) Then
   "Rechtsanimation"
ElseIf KeyDown(KEY_L) Then
   "Linksanimation"
Else
   Stehanimation"
EndIf


mfg Shark

SupeRalF

BeitragDi, Jan 29, 2008 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
jajaj, ich weiß was du meinst! die idee is auch echt supermegaklasse^^!
aber ich dachte mir halt: warum jede taste einzeln abfragen, wenn man auch alle zusammen abfrage kann! zu dem Zeipunkt wusste ich aber auch nicht, dass man es gar nicht kann Very Happy
ich werde das dann so umsetzen, wie von dir vorgeschlagen!

BtbN

BeitragMi, Jan 30, 2008 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest auch die KeyDown und KeyUp-Events hooken, und im KeyDown-Event eine globale Variable um 1 erhöhen, und im KeyUp event selbige Variable um 1 verringern. Dann wüstest du immer ob und wie viele Tasten gerade gedrückt sind.
 

c64

BeitragMi, Jan 30, 2008 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder so, gib deinem Player einfach noch n Feld mit, dieses nennen wir LastAction:int und setzen es bei jeder Action auf millisecs() ich mach das ma als code.

Code: [AUSKLAPPEN]


if Player_move_Or_Shoot_Action

  lastAction=millisecs()

endif

if  millisecs()-LastAction > meineZeitFür_LangeWeileAnimation Then LangeWeile=True



Wär auch ne lösung.

mfg.
C64
Betreten verboten! Kinder haften für ihre Eltern!

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group