gibt es KeyUP

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

andieo

Betreff: gibt es KeyUP

BeitragDi, Jun 05, 2007 21:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi ich kenne das Event KeyDown abe rich brauch etwas wie KEyUP denn die TAste soll nur erkannt werden wenn sie losgelassen wird" Habt ihr da was für mich?
ICh benutze Blitz 3d und der Compiler nimmt den Befehl nicht!
 

Nikonoob

BeitragDi, Jun 05, 2007 22:03
Antworten mit Zitat
Benutzer-Profile anzeigen
keydown ist dafür, dass die taste (möglicherweise auch länger) runtergedrückt wird. keyhit wird dazu verwendet, um zu ermitteln, ob der benutzer eine taste kurz gedrückt und wieder losgelassen hat. wenn du die taste also länger drückst passiert so lange nichts bis du wieder von der taste weggehst....



und achja, ich empfehle dir für deine ganzen fragen mal das 2d-tutorial von rob auf der site blitzbase.de , dort werden viele deiner fragen beantwortet und du musst nicht für jede frage ein neues topic eröffnen...
 

andieo

BeitragDi, Jun 05, 2007 22:28
Antworten mit Zitat
Benutzer-Profile anzeigen
danke für den tipp mit dem tutorial, ich werde das nächste mal zuerst dort suchen!

sirokuhl

BeitragDi, Jun 05, 2007 22:58
Antworten mit Zitat
Benutzer-Profile anzeigen
falsch! keyhit reagiert bei drücken der taste, nicht beim loslassen.
um diesen effekt dennoch zu erzielen, nimmst du eine variable und lässt diese bei keydown 1 werden. wenn keydown dann 0 rausgibt (durch das loslassen) und deine variable auf 1 ist, switcht du die variable einfach wieder auf 0 und gibst an was passieren soll.

The_Nici

BeitragDi, Jun 05, 2007 23:12
Antworten mit Zitat
Benutzer-Profile anzeigen
If not Keydown(1) then...

pile

BeitragDi, Jun 05, 2007 23:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
If not Keydown(1) then...

Nein! Damit wird nicht angezeigt das die Taste losgelassen wurde sondern das die Taste gar nicht erst gedrückt wurde. Zuerst muss man feststellen das die Taste gedrückt wurde:
Code: [AUSKLAPPEN]
If KeyHit(1)=1 then Taste_Gedrückt=1

So, jetzt weiß dein Programm das die Taste gedrückt wurde. Jetzt muss dein Programm wissen das die Taste wieder losgelassen wird:

Code: [AUSKLAPPEN]
 If Taste_Gedrückt=1 and Keydown(1)=0 then Es_passiert_irgendwas : Taste_Gedrückt=0
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238%

StepTiger

BeitragMi, Jun 06, 2007 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder eben mal für alle Tasten...
Code: [AUSKLAPPEN]
local kd[255]
local KeyUp[255]
for x=0 to 255
   KeyUp[x]=0
   If KeyDown(x)<kd[x] then KeyUp[x]=1
   kd[x]=KeyDown(x)
next
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.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group