void Functions:: Control(float movevel,float mousevel, bool mi) { int tmpx,tmpy; int midX = 320; int midY = 240; if(mi) { SDL_ShowCursor(SDL_DISABLE); SDL_GetMouseState(&tmpx,&tmpy);//SDL Command to get mouse x and y pos camYaw += mousevel *(midX-tmpx); camPitch += mousevel* (midY - tmpy); lockCamera(); SDL_WarpMouse(midX,midY);//set cursor back to center Uint8* state = SDL_GetKeyState(NULL); if(state[SDLK_w]) { //if(camPitch != 90 && camPitch != -90) // lock the camera from moving off into space moveCamera(movevel,0.0); //moveCameraUp(movevel,0.0); // lock the camera from moving off into space } else if(state[SDLK_s]) { //if(camPitch != 90 && camPitch != -90) // lock the camera from moving off into space comment here moveCamera(movevel,180.0); // moveCameraUp(movevel,180.0); // lock the camera from moving off into space comment this line } if (state[SDLK_a]) moveCamera(movevel,90); else if(state[SDLK_d]) moveCamera(movevel,270); } glRotatef(-camPitch,1.0,0.0,0.0); glRotatef(-camYaw,0.0,1.0,0.0); };
void Control(float movevel,float mousevel,bool mi) { if(mi) { int MidX=320; int MidY=240; SDL_ShowCursor(SDL_DISABLE); int tmpx,tmpy; SDL_GetMouseState(&tmpx,&tmpy); camYaw+=mousevel*(MidX-tmpx); camPitch+=mousevel*(MidY-tmpy); lockCamera(); SDL_WarpMouse(MidX,MidY); Uint8* state=SDL_GetKeyState(NULL); if(state[SDLK_w]) { // if(camPitch!=90 && camPitch!=-90) moveCamera(movevel,0.0); // moveCameraUp(movevel,0.0); }else if(state[SDLK_s]) { // if(camPitch!=90 && camPitch!=-90) moveCamera(movevel,180.0); // moveCameraUp(movevel,180.0); } if(state[SDLK_a]) moveCamera(movevel,90.0); else if(state[SDLK_d]) moveCamera(movevel,270); } glRotatef(-camPitch,1.0,0.0,0.0); glRotatef(-camYaw,0.0,1.0,0.0); }
void EG_FirstPersonPovCamera::Control(int mid_x, int mid_y) { if(m_mouseIn) { int MidX=mid_x; int MidY=mid_y; SDL_ShowCursor(SDL_DISABLE); int tmpx,tmpy; SDL_GetMouseState(&tmpx,&tmpy); m_yawDegrees += CAMERA_ROTATION_SPEED*(MidX-tmpx); m_pitchDegrees += CAMERA_ROTATION_SPEED*(MidY-tmpy); lockCamera(); SDL_WarpMouse(MidX,MidY); Uint8* state=SDL_GetKeyState(NULL); ismoved=false; if(state[SDLK_w]) { ismoved=true; if(m_pitchDegrees!=90 && m_pitchDegrees!=-90) moveCamera(0.0); moveCameraUp(0.0); }else if(state[SDLK_s]) { ismoved=true; if(m_pitchDegrees!=90 && m_pitchDegrees!=-90) moveCamera(180.0); moveCameraUp(180.0); } if(state[SDLK_a]) { ismoved=true; moveCamera(90.0); } else if(state[SDLK_d]) { ismoved=true; moveCamera(270); } } }
void Camera::control(float moveVel, float mouseVel, bool mi, SDL_Window *ptr_window) { if (mi) { int midX = 320; int midY = 240; SDL_ShowCursor(SDL_DISABLE); int tmpX, tmpY; SDL_GetMouseState(&tmpX, &tmpY); camYaw += mouseVel*(midX - tmpX); camPitch += mouseVel*(midY - tmpY); lockCamera(); SDL_WarpMouseInWindow(ptr_window,midX,midY); glRotatef(-camPitch, 1.0, 0.0, 0.0); glRotatef(-camYaw, 0.0, 1.0, 0.0); } }
void camera::control(int b, int x, int y) { std::cout << "move cam\n"; if(mi) { int MidX=320; int MidY=240; glutSetCursor(GLUT_CURSOR_NONE); // SDL_ShowCursor(SDL_DISABLE); int tmpx,tmpy; // SDL_GetMouseState(&tmpx,&tmpy); // camYaw+=mousespeed*(MidX-tmpx); // camPitch+=mousespeed*(MidY-tmpy); lockCamera(); glutWarpPointer(MidX,MidY); const Uint8* state=SDL_GetKeyboardState(NULL); if(b == GLUT_KEY_LEFT) { std::cout << "keyboard\n"; } if(state[SDLK_w]) { moveCamera(0.0); }else if(state[SDLK_s]) { moveCamera(180.0); } if(state[SDLK_a]) moveCamera(90.0); else if(state[SDLK_d]) moveCamera(270); } // glRotatef(-camPitch,1.0,0.0,0.0); // glRotatef(-camYaw,0.0,1.0,0.0); }