Je portais donc mon moteur de jeu de SDL à SFML, et maintenant j'ai un problème avec mon système de saisie. Input.hSFML Problème de système d'entrée
#ifndef BULLWHIP_INPUT_H
#define BULLWHIP_INPUT_H
#include
class bc_Input
{
public:
bool bm_KeyHit(sf::Key::Code key);
bool bm_KeyDown(sf::Key::Code key);
int bm_MouseX();
int bm_MouseY();
void bm_init(sf::RenderWindow app);
private:
sf::RenderWindow App;
const sf::Input& input;
};
#endif
Input.cpp
#include "Input.h"
bool bc_Input::bm_KeyDown(sf::Key::Code key)
{
return in.IsKeyDown(key)
}
bool bc_Input::bm_KeyHit(sf::Key::Code key)
{
sf::Event event;
while(App.GetEvent(event) && event.Type == sf::Event::KeyPressed)
{
switch(event.Key.Code)
{
case key: return true; break;
default:
break;
}
}
}
void bc_Input::bm_init(sf::RenderWindow app)
{
App = app;
in = App.GetInput();
}
int bc_Input::bm_MouseX()
{
return in.GetMouseX();
}
int bc_Input::bm_MouseY()
{
return in.GetMouseY();
}
je reçois ces erreurs de ceci:
C: \ C++ \ sdl \ bullwhip \ lib \ Bullwhip \ /Input.h: 15: erreur: 'bc_Input :: App' ne peut pas apparaître dans une expression constante C: \ C++ \ sdl \ bullwhip \ lib \ Bullwhip \ /Input.h: 15: erreur: '.' ne peut pas apparaître dans une expression constante C: \ C++ \ sdl \ bullwhip \ lib \ Bullwhip \ /Input.h: 15: erreur: un appel de fonction ne peut pas apparaître dans une expression constante C: \ C++ \ sdl \ bullwhip \ lib \ Bullwhip \ /Input.h: 15: erreur: ISO C++ interdit l'initialisation du membre 'entrée' C: \ C++ \ sdl \ bullwhip \ lib \ Bullwhip \ /Input.h: 15: erreur: rendant 'entrée' statique C: \ C++ \ SDL \ bullwhip \ lib \ bullwhip \ /Input.h: 15: erreur: initialisation non valide dans la classe de l'élément de données statique de type non-intégral 'sf :: Input &'
c: \ program files (x86) \ blocs de code \ mingw \ bin ../lib/gcc/mingw32/ 4.4.0 /../../../../ include/SFML/System/NonCopyable.hpp: 57: erreur : 'sf :: NonCopyable :: NonCopyable (const sf :: NonCopyable &)' est privé c: \ fichiers de programme (x86) \ codesblocs \ mingw \ bin ../lib/gcc/mingw32/ 4.4.0 /../../../../ include/SFML/Window/Window.hpp: 56: erreur: dans ce contexte