openGL获取键盘输入的问题我想获取键盘输入,方向键和aswd都可以获得同样的效果void keyEvent(unsigned cha
openGL获取键盘输入的问题 我想获取键盘输入,方向键和aswd都可以获得同样的效果
void keyEvent(unsigned char key,int x,int y){ switch (key){ case 's': case GLUT_KEY_DOWN: printf("down\n"); break; case 'w': case GLUT_KEY_UP: printf("up\n"); break; case 'a': //case GLUT_KEY_LEFT: printf("left\n"); break; case 'd': case GLUT_KEY_RIGHT: printf("right\n"); break; } }
现在的问题是只有aswd的情况下没有问题,但是方向键的那个好像没办法获取到。
而且更要命的是GLUT_KEY_LEFT如果取消注释的话,编译提示error C2196: case value '100' already used 就是case 'd': 那行 难道d和GLUT_KEY_LEFT都是100??? 是哪里错了不? [解决办法] 'd'的ASCII码是100,GLUT_KEY_LEFT也是100。 [解决办法] 用unsigned char无法表达所有的按键,可以参考http://blog.csdn.net/gamesdev/article/details/8113155的做法。