我去过这个主题的每个话题,但我仍然无法解决这个错误,这是GameManager.h
void myReshape(GLsizei w, GLsizei h);
void myDisplay(void);
void myBoardKeys(unsigned char key, int x, int y);
void timer(int millisec);
void speedtime(int speed);
void FPS(void);
void myIdle();
void mySpecialKeys(int key, int x, int y);
这是GameManager.cpp,我具有上述所有声明的功能,例如:
void GameManager::myBoardKeys(unsigned char key, int x, int y){....}
void GameManager::timer(int millisec){....}
这是我的主要功能
GameManager* _game = new GameManager();
// ----------------------------------------------------------
// main() function
// ----------------------------------------------------------
void main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(INIT_WINDOW_W, INIT_WINDOW_H);
glutInitWindowPosition(-1, -1);
glutCreateWindow("The Frogger");
glutIdleFunc(_game->myIdle);//C3867
glutDisplayFunc(_game->myDisplay);//C3867
glutReshapeFunc(_game->GameManager::myReshape);//C3867
glutSpecialFunc(_game->mySpecialKeys);//C3867
glutKeyboardFunc(_game->myBoardKeys);//C3867
_game->timer(rand() % 1000);//C3867
glutTimerFunc(10000, _game->speedtime, 10000);//C3867
glutMainLoop();
}
我试图称它为
&GameManager::myIdle
&_game->myIdle
它仍然给我同样的错误,我不明白为什么。
希望你们能帮助我
提前致谢
我想通了,谢谢!!这是解决方案,这是GameManager.h
static float R, W, H;
int timespeed = 35;
static GLint gFramesPerSecond;
static void myReshape(GLsizei w, GLsizei h);
static void myDisplay(void);
static void myBoardKeys(unsigned char key, int x, int y);
static void timer(int millisec);
static void speedtime(int speed);
static void FPS(void);
static void myIdle();
static void mySpecialKeys(int key, int x, int y);
这是GameManager.cpp
float GameManager::R, GameManager::H, GameManager::W;
GLint GameManager::gFramesPerSecond;
Jogo* GameManager::_jogo = new Jogo();
void GameManager::myReshape(GLsizei w, GLsizei h){...}
Rest of functions here....
这是我的主要
void main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(INIT_WINDOW_W, INIT_WINDOW_H);
glutInitWindowPosition(-1, -1);
glutCreateWindow("The Frogger");
glutIdleFunc(GameManager::myIdle);
glutDisplayFunc(GameManager::myDisplay);
glutReshapeFunc(GameManager::myReshape);
glutSpecialFunc(GameManager::mySpecialKeys);
glutKeyboardFunc(GameManager::myBoardKeys);
GameManager::timer(rand() % 1000);
glutTimerFunc(10000, GameManager::speedtime, 10000);
glutMainLoop();
}
我必须使所有内容保持静态,并且现在可以正常工作
谢谢!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句