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的做法。
[解决办法]
搜网络教程“学OpenGL编3D游戏”。