Historique des modifications - Message

Message #3595

Sujet: Problème d'evenements clavier/GUI


TypeDateAuteurContenu
Création du message18-02-2008 13:25:58Tank
Bonjour à tous !

J'ai un problème étrange... avec IEventReceiver, lorsque j'appuis sur un bouton du GUI, et qu'ensuite j'appuis sur une touche du clavier, cette touche est répétée 2 fois.

Voici mes classes :

class KeyEventReceiver : public IEventReceiver
{
	public:
		bool OnEvent(const SEvent &event)
		{
			if(event.EventType == EET_KEY_INPUT_EVENT && event.KeyInput.PressedDown)
			{
				std::cout << "key: " << event.KeyInput.Char << std::endl;
			}

			return false;
		}
};

class GuiEventReceiver : public IEventReceiver
{
	public:
		bool OnEvent(const SEvent &event)
		{
			if(event.EventType == EET_GUI_EVENT && event.GUIEvent.EventType == gui::EGET_BUTTON_CLICKED)
			{
				std::cout << "bouton: " << event.GUIEvent.Caller << std::endl;
			}

			return false;
		}
};

Et le main :

int main()
{
    // IEventReceiver
    KeyEventReceiver keyEvents;
    GuiEventReceiver GuiEvents;

    // creation de la fenetre
    IrrlichtDevice *device = createDevice(video::EDT_DIRECT3D9, core::dimension2d<s32>(110, 40), 32, false, false, true, &keyEvents);
    video::IVideoDriver *driver = device->getVideoDriver();
    gui::IGUIEnvironment *guienv = device->getGUIEnvironment();

    // ajout d'un bouton
    guienv->addButton(core::rect<s32>(10, 10, 100, 30), 0, 1, L"Bouton de test");

    // assigne le IEventReceiver perso au guienv
    guienv->setUserEventReceiver(&GuiEvents);

    // dessine
    while(device->run())
    {
    	driver->beginScene(true, true, video::SColor(0, 100, 100, 100));
    	guienv->drawAll();
    	driver->endScene();
    }

    device->drop();

    return 0;
}

De cette façon ça fonctionne, mais je ne comprend pas pourquoi avec un seul IEventReceiver ça ne marche pas.

Merci de votre aidesmile

Retour

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
57 invités en ligne
membre en ligne: -
RSS Feed