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);
    }
}
Exemple #5
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);
}