das große tasten-problem

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

gigi

Betreff: das große tasten-problem

BeitragMo, Apr 30, 2007 9:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe leider immer noch keine Idee zur lösung meines Tasten-Problems...
Der zufall mischt immer ungewollt mit.An 2 Stellen nervt das echt...
Hier: Code: [AUSKLAPPEN]
If EntityDistance(cam,diner1)<5 Then
Text 100,100,"Burger mit Pommes und Getränk für 3 $ Kaufen?
EndIf
 If EntityDistance(cam,diner1)<5 And KeyHit(28) Then
mkolle=mkolle-3
hunger#=hunger#+2
EndIf

und hier:Code: [AUSKLAPPEN]
If EntityDistance(cam,amttext)<5 And KeyHit(28) And arbeitg=0 And entscheidung$="Ja" And toon=0 Then
arbeitg=1
PlaySound texamt2
toon=1
Delay 3000
PlaySound texamt3
EndIf

als lösung wurde vorgeschlagen die Abfrage in eine Variable zu packen aber das funzt überhaupt net...
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragMo, Apr 30, 2007 9:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Keyhit kann man doch nur einmal in einer Schleife mit der selben Taste abfragen, oder nicht?

MfG
Ironstorm
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium
 

gigi

Betreff: das weiß ich nicht....

BeitragMo, Apr 30, 2007 9:11
Antworten mit Zitat
Benutzer-Profile anzeigen
das glaub ich nicht.Man kann ja nicht für jde Aktion eine andere Taste nehmen!!!!
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185

hectic

Sieger des IS Talentwettbewerb 2006

Betreff: Re: das weiß ich nicht....

BeitragMo, Apr 30, 2007 9:37
Antworten mit Zitat
Benutzer-Profile anzeigen
gigi hat Folgendes geschrieben:
das glaub ich nicht...


KeyHit liest, anders als KeyDown, nicht den aktuellen Tastaturstatus, sondern den Tastaturpuffer aus. Das bedeutet, dass nach dem ersten auslesen der Wert in diesem Puffer gelöscht wird. Du kannst also nur einmal pro Schleifendurchlauf (dabei nicht mal die Position bestimmen) eine Taste abfragen, ausser du speicherst sie einmal in eine Variable (zB keyhit_enter=KeyHit(28)).
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

gigi

Betreff: und wie frge ich das

BeitragMo, Apr 30, 2007 9:41
Antworten mit Zitat
Benutzer-Profile anzeigen
und wie frge ich das dann wieder ab?
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Apr 30, 2007 9:47
Antworten mit Zitat
Benutzer-Profile anzeigen
zB

keyhit_enter=KeyHit(28)

If keyhit_enter end
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

gigi

Betreff: immernoch zufall...

BeitragMo, Apr 30, 2007 10:22
Antworten mit Zitat
Benutzer-Profile anzeigen
es hat sich leider nichts verändert....Ich muss immernoch 20-30 mal klicken bis es funzt....
Anfänger Tut von mir:
http://www.blitzforum.de/forum...hp?t=26185
 

Lastsamurai

BeitragMo, Apr 30, 2007 10:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich seh in diesem Code oben keinen Fehler... das einzige wobei mir das mal passiert ist, war das ich Flushkeys() an einer falschen Stelle benutzt habe und so meine Tasten auch gespinnt haben und ich 50 mal drücken musste bis was passiert... Rolling Eyes

Benutzt das Flushkeys() zufällig in deinem Code? Sonst wüsste ich jetzt keine Lösung...

MfG. LastSamurai

Smily

BeitragMo, Apr 30, 2007 14:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast jetzt nicht zufällig das keyhit_enter=KeyHit(28) zwei mal im code drinn, oder? Wink

Schau dir mal die beiden Codes an und lerne darraus - und übertrage es dann in dein Programm:

Code 1: Funktioniert nicht
Code: [AUSKLAPPEN]
Graphics 800,600,16,2
Repeat
   If KeyHit(28) Print "1"
   If KeyHit(28) Print "2"
Until KeyHit(1)


Code 2: Funktioniert
Code: [AUSKLAPPEN]
Graphics 800,600,16,2
Repeat
   k_28 = KeyHit(28)
   If k_28 Print "1"
   If k_28 Print "2"
Until KeyHit(1)
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group