#0 

03-02-2010 19:23:14

lefuret
Petit nouveau
Date d'inscription: 03-02-2010
Messages: 2

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

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\test_event\event_test.cpp In function `int main()':
42 C:\Users\lefuretfou\Desktop\test_event\event_test.cpp cannot declare variable `receiver' to be of type `evenements'
42 C:\Users\lefuretfou\Desktop\test_event\event_test.cpp   because the following virtual functions are abstract:


merci d'avance smile

Hors ligne


#1 

03-02-2010 19:36:08

firnafin
Abonné
Date d'inscription: 31-03-2007
Messages: 150

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


#2 

03-02-2010 19:46:02

lefuret
Petit nouveau
Date d'inscription: 03-02-2010
Messages: 2

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

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
882 membres
1429 sujets
11119 messages
Dernier membre inscrit: LiseBuisson96
29 invités en ligne
Aucun membre connecté
RSS Feed