Variable ändert sich nicht
Übersicht

Cedric30003Betreff: Variable ändert sich nicht |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey Leute!!
Ich habe ein Problem, unzwar: Ich möchte dass sich bei Tastendruck sich eine Variable ändert, was aber dummerweise nciht funktuiniert. Die Variable bleibt einfach immer "0" Code: [AUSKLAPPEN] Graphics3D 1366,768,32,1 cam1 = CreateCamera ibisaufgabe = 0 While Not KeyHit (1) RenderWorld Include "Kamera.bb" If ibisaufgabe = 0 And KeyDown (75) Then ibisaufgabe = 1 End If UpdateWorld Text 10, 120, "Ibisaufgabe: " + ibisaufgabe Flip Wend End Um es nochmal zu erklären: Am Anfang des Programms ist Code: [AUSKLAPPEN] ibisaufgabe# = 0
Wenn dann halt Code: [AUSKLAPPEN] ibisaufgabe# = 0 And KeyDown(75) ist, dann soll die Variable Code: [AUSKLAPPEN] ibisaufgabe = 1 sein.
Was läuft hier schief?? Danke im Voraus MfG Cedric |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Für welche Taste denkst du steht 75? Drückst du auch die richtige? ![]() |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
Nova |
![]() Antworten mit Zitat ![]() |
---|---|---|
75 steht für die 4 auf dem Nummernblock.
Hast du den vielleicht deaktiviert (Numlock)? Ansonsten, nachdem ich etwas entfernt hatte funktionierte alles. |
||
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. Welche Taste drückst du? Die 4 auf dem Nummernblock müsste es sein.
2. Wie lange drückst du sie? Wenn du sie nur kurz anschlägst, kann es sein, dass das Programm dies nicht bemerkt. Nutze KeyHit ![]() mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
Cedric30003 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mein Gott bin ich blöde.
Ich hab so nach Fehlern gesucht, dass ich nicht gemerkt habe, dass ich dass cih das Doppelgemobbelte dort nicht geseheen habe, mit den Keys Danke Leute |
||
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das Problem an Keyhit ist, dass es prüft ob genau in dieser Millisecunde die auf deiner Tastatur eine Taste gedrückt ist.
Schreibt man mehrere Keyhits() hintereinander(Bzw. überpüft mehrfach die gleiche taste in einer Abfrage) wird das nicht mehr richtig funktionieren.... hier der Trick: Prüfe ganz am anfang deiner Loop die Tastenereignisste ab. Speicher dies in Globale varriable und prüfe später in funktionen nur noch diese Varriablen. Code: [AUSKLAPPEN] Global Key_leertaste=0 Global Key_enter=0 Repeat ;var immer nullen Key_leertaste=0 Key_enter=0 ;hat der Spieler eine Taste gedrückt IF Keyhit(57) then Key_leertaste=1 IF Keyhit(28) then Key_enter=1 ;irgendeine prüfung... IF KEY_leertaste =1 and x = 100 or KEY_leertaste=1 and y=10 then ..... until Keyhit(1) das ist die einzigste möglichkeit(zumindest mir bekannt) mehrere SAUBERE Keyhitabfragen in deinen Code zu verwenden. Keydown dagegen funktioniert immer... aber manchmal ist Keydown ungeeignet. Gruß Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dottakopf hat Folgendes geschrieben: Das Problem an Keyhit ist, dass es prüft ob genau in dieser Millisecunde die auf deiner Tastatur eine Taste gedrückt ist. Berichtigung: Die Keyhit/MouseHit Funktionen leeren ihren Buffer beim Aufruf. Darum gibt es auch Flushkeys![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group