[COMP] probleme à la compilation
Bonjour tout le monde !
je vien d'installer code::blocks sur mon ordinateur et je me suis mis à programmer à l'aide de la SDL.
Pour l'installation de la SDL sous code::blocks j'ai naviguer sur internet.
Alors je commence à programmer et je tombe sur une erreur lors de la compilation que je ne comprend pas.
Voici la fameuse erreur :
Citation:
taire\Bureau\Mario\main.cpp|20|error: request for member `evenementTouche' in `moteurPhysique', which is of non-class type `MPhysique ()()'|
Mon main:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
#include <stdlib.h>
#include <stdio.h>
#include <iostream>
#include "MGraphique.h"
#include "MPhysique.h"
using namespace std;
int main(int argc, char **argv)
{
int continuer = 1;
MGraphique moteurGraphique(640,480,32,"Mario alpha 0.1"); // Pour charger la fenetre
MPhysique moteurPhysique(); // Pour charger le moteur graphique
/* boucle principal du jeu */
while(continuer ){
continuer = moteurPhysique.evenementTouche(); // Pour attendre un evenement
moteurGraphique.actualiseEcran(); // Pour actualiser la fenetre
}
return 0;
} |
Ma classe MPhysique:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
#ifndef MPHYSIQUE_H_INCLUDED
#define MPHYSIQUE_H_INCLUDED
#include <SDL.h>
#define AUCUNE 0
#define DROITE 1
#define GAUCHE 2
class MPhysique
{
private:
SDL_Rect position;
SDL_Event event;
int tempsActuel, tempsPrecedent;
int direction;
int continuer;
public:
MPhysique();
~MPhysique();
int evenementTouche(); // pour gerer les touches clavier
};
#endif // MPHYSIQUE_H_INCLUDED |
L'implementation de ma classe MPhysique:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
#include <iostream>
#include "MPhysique.h"
using namespace std;
MPhysique::MPhysique()
{
tempsActuel = tempsPrecedent = 0;
position.x = position.y = 0;
continuer = 1;
direction = AUCUNE;
}
MPhysique::~MPhysique()
{
// rien a faire
}
int MPhysique::evenementTouche(void)
{
SDL_PollEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0; // pour quitter la fenetre
break;
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_RIGHT: // Flèche droite
direction = DROITE;
break;
case SDLK_LEFT: // Flèche gauche
direction = GAUCHE;
break;
default : break;
}
break;
case SDL_KEYUP:
switch(event.key.keysym.sym)
{
case SDLK_RIGHT: // Flèche droite
direction = AUCUNE;
break;
case SDLK_LEFT: // Flèche gauche
direction = AUCUNE;
break;
default: break;
}
break;
default: break;
}
return(continuer);
} |
Si quelqu'un a une réponse à me fournir sur le problème rencontrer , je suis preneur. Merci pour l'aide qui sera apporter.