OpenGL,GLUT:如何判断手柄键是否处于活动状态(按下)?
问题描述:
我在游戏中使用游戏手柄作为输入,并且我想通过按键移动相机。这可以工作,但相机不会继续移动,除非我释放游戏手柄并再次按下它。如何使相机在按下按键的情况下继续移动?OpenGL,GLUT:如何判断手柄键是否处于活动状态(按下)?
这里是我的手柄FUNC:
void gamepad (unsigned int buttonMask, int x, int y, int z){
//left
if(x<-7){
moveLeftSwitch=1;
printf("left\n");
camara.trasladar_left_right((-speedT*10));
}
if (x==-7){
moveLeftSwitch=0;
}
//right
if(x>-7){
printf("right\n");
}
//up
if(y<-7){
printf("up\n");
if(camara.trasladar_front_back(speedT)){
}
}
//down
if(y>-7){
printf("down\n");
camara.trasladar_front_back(-speedT);
}
}
和回调我用:
glutJoystickFunc(gamepad, 300);
glutForceJoystickFunc();
答
if(buttonMask & GLUT_JOYSTICK_BUTTON_A) {
printf("button A is pressed ");
}
if(buttonMask & GLUT_JOYSTICK_BUTTON_B) {
printf("button B is pressed ");
}
if(buttonMask & GLUT_JOYSTICK_BUTTON_C) {
printf("button C is pressed ");
}
if(buttonMask & GLUT_JOYSTICK_BUTTON_D) {
printf("button D is pressed ");
}
从here
答
插入glutForceJoystickFunc();在你的计时器功能和问题解决。
那些不会总是回归真实?我相信你想用AND来掩盖。 – Maister 2011-02-06 14:11:16