我已经参与了这个主题的每个主题,我仍然无法修复此错误 这是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
它仍然给我同样的错误,我不明白为什么。
希望你们能帮我解决这个问题
先谢谢
答案 0 :(得分:0)
我想出来的人谢谢!! 这是解决方案,这是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();
}
我必须让一切都变得静止,现在可以了。
谢谢!