#1 

03-02-2010 18:23:14

lefuret
Membres
Avatar de lefuret
Date d'inscription:
Messages: 2
IP: 92.140.22.128
Courriel

bonjour a tous smile

étant débutant sur le moteur irrlicht je viens de rencontrer mon premier problème , cela concerne la gestion des évènements , je fait donc appel à vous

voici le code

#include<IRR/irrlicht.h>
#include<iostream>

using namespace irr;
using namespace core;
using namespace gui;
using namespace scene;
using namespace std;
using namespace video;

bool bouton_W=false;



class evenements : public IEventReceiver
{
      public:
             
           

             
          virtual bool OnEvent(SEvent& event)
             {if(event.EventType==EET_KEY_INPUT_EVENT&&!event.KeyInput.PressedDown)
               {
                switch(event.KeyInput.Key)                                                                  
                       {  
                          case KEY_KEY_W:
                               {
                                         bouton_W=event.KeyInput.PressedDown;
                                         break;
                               } 
                          return true;                                                                                                                                                        
                       } 
                } 
                return false;
              }                                                                
};

int main(void)
{
    
    evenements receiver;
    
    IrrlichtDevice *device = createDevice (
    EDT_OPENGL,
    dimension2d<u32>(800,600),
    32,
    false,
    true,
    false,
    &receiver);
    
    IVideoDriver* driver =device->getVideoDriver();                  
    ISceneManager *sceneManager =device->getSceneManager ();      





    if(bouton_W!=0)
    {
     cout<<"boutonW"<<endl;
    }
    
    
while (device->run ())                         // boucle infinie
    {
        driver->beginScene (true, true,
            SColor (255,255,255,255)); // on demarre la scene
        sceneManager->drawAll ();                  // on calule le rendu
        driver->endScene ();                       // on affiche le rendu
    }
     

    device->drop ();                               // liberation de la memoire
    return 0;
}

et voila l'erreur

C:\\Users\\lefuretfou\\Desktop\ est_event\\event_test.cpp In function `int main()':
42 C:\\Users\\lefuretfou\\Desktop\ est_event\\event_test.cpp cannot declare variable `receiver' to be of type `evenements'
42 C:\\Users\\lefuretfou\\Desktop\ est_event\\event_test.cpp because the following virtual functions are abstract:

merci d'avance smile


Hors ligne


#2 

03-02-2010 18:36:08

firnafin
Membres
Avatar de firnafin
Date d'inscription:
Messages: 150
IP: 93.9.159.164
Courriel

c'est normale : la fonction est "virtual bool OnEvent( const SEvent& event)" . Il n'y a pas le "const" donc impossible d'instancier une classe abstraite


Hors ligne


#3 

03-02-2010 18:46:02

lefuret
Membres
Avatar de lefuret
Date d'inscription:
Messages: 2
IP: 92.140.22.128
Courriel

merci beaucoup je suis trop bête de ne pas avoir vu ça


Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
119 invités en ligne
membre en ligne: -
RSS Feed