Tastaturabfrage[erledigt]

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

LordArtus

Betreff: Tastaturabfrage[erledigt]

BeitragSo, Sep 16, 2007 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

hab folgenden Code:
Code: [AUSKLAPPEN]

      _player.stop_flag=True

      If KeyDown(KEY_LEFT) And Not KeyDown(KEY_RIGHT)
         _player.shoot_flag=False
         If _player.le_ri_flag=True And cam_speed>0.0
         Else
            _player.le_ri_flag=False
            If cam_speed<cam_max_speed
               cam_speed=cam_speed+0.08
            Else
               cam_speed=cam_max_speed
            EndIf
            If cam_speed=cam_max_speed
               cam_posx=cam_posx-cam_speed
            Else
               cam_posx=cam_posx-cam_speed
            EndIf
            If cam_posx<0.0
               cam_posx=cam_posx+MAPSIZEX
            EndIf
            _player.MoveLeft(cam_speed)
         EndIf
      EndIf
      
      If KeyDown(KEY_RIGHT) And Not KeyDown(KEY_LEFT)
         _player.shoot_flag=True
         If _player.le_ri_flag=False And cam_speed>0.0
         Else
            _player.le_ri_flag=True
            If cam_speed<cam_max_speed
               cam_speed=cam_speed+0.08
            Else
               cam_speed=cam_max_speed
            EndIf
            If cam_speed=cam_max_speed
               cam_posx=cam_posx+cam_speed
            Else
               cam_posx=cam_posx+cam_speed
            EndIf
            If cam_posx>MAPSIZEX
               cam_posx=cam_posx-MAPSIZEX
            EndIf
            _player.MoveRight(cam_speed)
         EndIf
      EndIf
            
      If _player.stop_flag            ' True = Anhalten
         If cam_speed=0.0
         Else
            If KeyDown(KEY_RIGHT) Or KeyDown(KEY_LEFT)
               cam_speed=cam_speed-0.12
            Else
               cam_speed=cam_speed-0.04
            EndIf
            If cam_speed<0.0
               cam_speed=0.0
            EndIf
            If _player.le_ri_flag
               cam_posx=cam_posx+cam_speed
               If cam_posx>MAPSIZEX
                  cam_posx=cam_posx-MAPSIZEX
               EndIf
               _player.MoveRight(cam_speed)
            Else
               cam_posx=cam_posx-cam_speed
               If cam_posx<0.0
                  cam_posx=cam_posx+MAPSIZEX
               EndIf
               _player.MoveLeft(cam_speed)
            EndIf

         EndIf
      EndIf
      
      If KeyDown(KEY_SPACE) _player.Shoot()         
      If KeyDown(KEY_UP) _player.MoveUp()
      If KeyDown(KEY_DOWN) _player.MoveDown()


wenn ich 2 Tasten gleichzeitig gedrückt halte ist alles ok , aber wenn 3 Tasten gleichzeitig gedrückt halte , fäng es an etwas zu spinnen.
Also ich denke , es ist egal wieviele Tasten gleichzeitig gedrückt sind , KeyDown(...) überprüft ja nur die Taste ob die Down ist und liefert dementsprechend True oder False zurück , oder funtzt es etwas anders ???

MfG

LordArtus

Edit: _player.MoveLeft und _player.MoveRight setzt _player.stop_flag auf False , falls sich einer wundert
  • Zuletzt bearbeitet von LordArtus am So, Sep 16, 2007 17:51, insgesamt 2-mal bearbeitet

Smily

BeitragSo, Sep 16, 2007 16:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann es sein, dass das an deiner tastatur liegt?
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

LordArtus

BeitragSo, Sep 16, 2007 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
hmmmmm , wie meinst du das Smily ???

MfG

LordArtus

Edit: Meine Tastatur ist an USB angeschlosssen , aber sollte eigentlich nichts damit zu tun haben.

Edit2: Vielleicht hilft es ein wenig : Wenn ich mich rechts (KEY_RIGHT) bewege und gleichzeitig schiesse (KEY_SPACE) dann kann ich mich noch (dritte Taste) nach oben bewegen (KEY_UP) , aber nur nach oben , (KEY_DOWN) funzt dann nicht.Wenn ich mich links bewege (KEY_LEFT) und gleichzeitig schiesse (KEY_SPACE) , dann funzt (dritte Taste) (KEY_UP) oder (KEY_DOWN) überhaupt nicht.
  • Zuletzt bearbeitet von LordArtus am So, Sep 16, 2007 17:26, insgesamt einmal bearbeitet
 

ChristianK

BeitragSo, Sep 16, 2007 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Es liegt an der Tastatur. Ich kann dir nicht sagen, warum das so ist, aber ich hatte das auch mal.
Iwie ist das auch bei jedem Hersteller anders. Manche 3er-Kombinationen gehen und manche nicht.
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT
 

#Reaper

Newsposter

BeitragSo, Sep 16, 2007 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
ProGamer.Coder hat Folgendes geschrieben:
Es liegt an der Tastatur. Ich kann dir nicht sagen, warum das so ist, aber ich hatte das auch mal.
Iwie ist das auch bei jedem Hersteller anders. Manche 3er-Kombinationen gehen und manche nicht.


Jap, zu mindestens ist das bei PS2 so, wie es bei USB ist, weiß ich nicht.
Aber wenn man zu viel aufeinmal drückt, peist der PC normalerweise (also z.m. bei mir Wink)
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

LordArtus

BeitragSo, Sep 16, 2007 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
wenns so ist , dann ist es total sch..............

wie soll ich es dann lösen , damit es gut spielbar ist , hmmmmmmmm ???

MfG

LordArtus

Edit: Ok , danke für die Antworten , werde wohl das Schiessen auf die Maus verlagern müssen.
 

battlegorge

BeitragSo, Sep 16, 2007 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst die Tasten verwenden, die man gleichzeitig drücken kann!
Auf einer normalen Tastatur kann man A,S,D, die Pfeiltasten und Space problemlos gleichzeitig drücken.

LordArtus

BeitragSo, Sep 16, 2007 20:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja , es ging aber um zwei Pfeiltasten und Space gleichzeitig.
Das funzt nicht.

MfG

LordArtus
 

Dreamora

BeitragSo, Sep 16, 2007 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Das liegt an der Tastatur, da kannst du mit billigen Witztastaturen oder non Gamer Tastaturen (das heisst keine Tantalus oder G12+) nichts machen.

Wenn du 3 Tasten und mehr gleichzeitig willst: Pad Support oder sie auf Tastatur und Maus verteilen.
Und vor allem nicht die Pfeiltasten und speziellere Tasten verwenden.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

LordArtus

BeitragMo, Sep 17, 2007 0:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja , hab ziemlich gute Tastatur von Logitech.
Aber egal , werde die Steurung höchstwahrscheinlich auf Maus/Tastatur verlegen , oder sogar nur auf Maus.
Trotzdem danke für die Hilfe.

MfG

LordArtus
 

Dreamora

BeitragMo, Sep 17, 2007 0:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Gute Tastatur heisst 60-80 Euro und aufwärts. (bzw bei schnurlosen Tastaturen halt auch eher die teurere Region den die billigen da sind meist noch schlimmer als Mittelklasse USB Tastaturen von MS und Logitech)

Alles drunter sind nur schöner gestylte Cherry Tastaturen von ihren Fähigkeiten her.
Die taugen fürs Gaming leider nicht wegen genau diesen höchst idiotisch gelegten Zonen, welche bestimmen welche Tasten die gleichen Signalleitungen nutzen.
Obwohl das alles mit USB eigentlich schon ewig kein Problem mehr wäre, sind die Componenten die das können leider nicth sonderlich billig und werden drum nie in billigen Tastaturen zu finden sein, fürchte ich.

Prinzipiell ist es vor allem so, dass die Pfeiltasten nicht gleichzeitig gedrückt werden können auf den meisten Tastaturen.
Das war vermutlich einer der Gründe warum man WASD einführte, denn selbst heutige Tastaturen würden in nem Shooter nach 10min Pfeiltasten Nutzung vom User zerdeppert weil sie nie reagieren.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

battlegorge

BeitragMo, Sep 17, 2007 9:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe eine Logitech Tastatur, die hat 20 oder 30€ gekostet.
Ich konnte 11 Tasten drücken ohne dass es piept, dann gingen mir die Finger aus. Smile
Nur bestimme Kombinationen gehen nicht wie z.B. ASW.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group