Aktuelle Zeit: 18.04.2024, 04:25

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
BeitragVerfasst: 02.05.2007, 15:28 
Offline
Benutzeravatar

Registriert: 21.04.2007, 20:54
Beiträge: 117
Hallo Leute,

tut mir Leid dass ich schon wieder einen Thread auf gemacht habe, aber ich kann mir einfach nicht weiter helfen.

Wenn ich einen EventReceiver erstelle und die Tastatur abfrage erhalte ich die TastenResultate in einem Stotter-Rythmus wie wenn ich in einem TextEditor die Taste "A" gedrückt halte.

Wie aber kann ich abfragen ob eine Taste ununterbrochen gedrückt wird?

Mein Code sieht so aus:

Code:
class MyEvent : public IEventReceiver {
    public:
        MyEvent() {}
        virtual bool OnEvent(SEvent event) {
            bool Result = false;
            if (event.EventType == EET_KEY_INPUT_EVENT) {
                switch (event.KeyInput.Key) {
                    case KEY_KEY_A:
                        Result = true;
                        break;
                    default:
                        break;
                }
            }
            return Result;
        }
};

Danke schon mal

_________________
Meine Homepage: http://www.hlc-games.de/
Mein Projekt: http://softpixelengine.sourceforge.net/
Mein Forum: http://www.hlc-games.de/forum/


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 02.05.2007, 15:34 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
event.KeyInput.PressedDown


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 02.05.2007, 15:36 
Offline
Moderator
Benutzeravatar

Registriert: 25.03.2007, 18:11
Beiträge: 834
Wohnort: Hagen, NRW
gleich vorweg: ich habs nichtmehr exakt im kopf.. such mal im offizellen forum nach "bool keys" oder so

also im grunde erstellt du ein array aus bools also
Code:
bool keys[E_KEY_COUNT];


und im event receiver schreibst du dann:
Code:
bool OnEvent(SEvent event)
{
   if(event.EventType == EET_KEY_INPUT_EVENT)
   {
       keys[event.KeyInput.Key] = event.KeyInput.PressedDown;
       return true;
   }
}


dann kannst du jederzeit überprüfen, ob eine taste gedrückt ist, oder nicht

_________________
Phenom X4 9950 BE | 6144MB DDR2-800 | GeForce 8800GT 512MB | Asus M3A32-MVP Deluxe | 2TB HDD | 520W Seasonic NT | Soprano Tower | Samsung 22" TFT + Fujitsu-Siemens 17" TFT + Toshiba 42" FullHD LCD | Windows 7 Proessional x64
Behind the Brain


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 02.05.2007, 16:30 
Offline

Registriert: 08.04.2007, 16:55
Beiträge: 115
jau.. die methode benutze ich auch, hab das inne schöne Klasse implementiert, wenns intressiert, kann ich die hier mal hochladen..


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 02.05.2007, 16:36 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
@lukasbanana: du brauchst dich nicht entschuldigen wenn du einen thread aufmachst, dazu gibts das forun ja ;-)
@TGM: klar lade doch mal die klasse hoch, würde mich zumindest interessieren

mfg das heck

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 02.05.2007, 16:50 
Offline
Benutzeravatar

Registriert: 25.03.2007, 18:57
Beiträge: 172
stimmt du hast erst 3 threads und man merkt ja, dass du dir gedanken machst.

Es ist halt nur scheiße, wenn leute sich nichts überlegen und die schwersten sachen überhaupt machen wollen: durch fragen erreichen.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 03.05.2007, 13:43 
Offline
Benutzeravatar

Registriert: 21.04.2007, 20:54
Beiträge: 117
@frodenius: hab ich auch schon probiert, gleicher Effekt

@raubritter && das heck: Danke, find ich klasse das man hier Fragen stellen darf ohne, wie in anderen Foren (will da ma gar keine Namen nennen), Angst haben zu müssen dass sich andere wegen der Anzahl beschweren

@Sylence: Ok, ich guck mal nach so nem Array, in einer anderen Grafikbibliothek, "Allegro", haben die das auch mit einem Array gemacht (ist allerdings in C geschrieben und auch schon etwas älter)

@all: Danke schon mal für eure Beiträge, freue mich auf weitere ^^

Gruß LukasBanana

_________________
Meine Homepage: http://www.hlc-games.de/
Mein Projekt: http://softpixelengine.sourceforge.net/
Mein Forum: http://www.hlc-games.de/forum/


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 03.05.2007, 14:30 
Offline
Benutzeravatar

Registriert: 21.04.2007, 20:54
Beiträge: 117
@Sylence: Ich glaub es einfach nicht! :shock: Dein Beispiel hat funktioniert, Endlich

Ich hab absolut keine Ahnung was ich falsch gemacht habe, aber irgend wie funktioniert es mit dem was du mir gabs`t.
Danke

Und danke an alle :D

Gruß LukasBanana

_________________
Meine Homepage: http://www.hlc-games.de/
Mein Projekt: http://softpixelengine.sourceforge.net/
Mein Forum: http://www.hlc-games.de/forum/


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 03.05.2007, 14:39 
Offline
Moderator
Benutzeravatar

Registriert: 11.03.2007, 20:25
Beiträge: 556
Wohnort: Frankfurt/Main
naja eigentlich ganz klar, das einzige was syslence's code einführt ist die speicherung des gedrückt-zustands der taste. das hattest du wohl vorher nohc nicht.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 05.05.2007, 19:36 
Offline
Benutzeravatar

Registriert: 21.04.2007, 20:54
Beiträge: 117
Ja das stimmt, aber ich konnte mir nicht erklären was ich falsch gemacht hatte.
Ich hatte das Selbe Beispiel nähmlich mehrfach probiert, also zwei mal, und auf einmal ging es.
Ich weiß 'alse ma nett' was ich da falsch mache :lol:

Aber danke nochmal :mrgreen:

_________________
Meine Homepage: http://www.hlc-games.de/
Mein Projekt: http://softpixelengine.sourceforge.net/
Mein Forum: http://www.hlc-games.de/forum/


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de