Thread: Mouse moving

  1. #1
    Registered User
    Join Date
    Sep 2003

    Mouse moving

    Ok, I have this game, and I want the camera to be controlled by the mouse. The problem is that the cursor can only move so far... and when it hits the end of the screen, the user can't turn any more.

    How do I get around this problem, so I can turn in one direction as much as I want, irrespective of the position of the Windows cursor?


  2. #2
    Registered User Codeplug's Avatar
    Join Date
    Mar 2003
    If you want to get mouse events no matter where the curson is, then use SetCapture().


  3. #3
    Registered User
    Join Date
    Sep 2003
    Doesn't seem to work....
    int InitGL(GLvoid)										// All Setup For OpenGL Goes Here
    	if (!LoadGLTextures())								// Jump To Texture Loading Routine
    		return FALSE;									// If Texture Didn't Load Return FALSE
    	glEnable(GL_TEXTURE_2D);							// Enable Texture Mapping
    	glShadeModel(GL_SMOOTH);							// Enable Smooth Shading
    	glClearColor(0.0f, 0.0f, 0.0f, 0.5f);				// Black Background
    	glClearDepth(1.0f);									// Depth Buffer Setup
    	glEnable(GL_DEPTH_TEST);							// Enables Depth Testing
    	glDepthFunc(GL_LEQUAL);								// The Type Of Depth Testing To Do
    	glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);	// Really Nice Perspective Calculations
    	glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);		// Setup The Ambient Light
    	glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);		// Setup The Diffuse Light
    	glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);	// Position The Light
    	glEnable(GL_LIGHT1);								// Enable Light One
    	return TRUE;										// Initialization Went OK
    		case WM_MOUSEMOVE:
    				mousePoints = MAKEPOINTS(lParam);
    				currentCam->rotY=(float)((mousePoints.x)/3);   //GET X AND Y MOUSE POSITIONS
    				if((mousePoints.y/3) < -90.0f)
    				else if((mousePoints.y/3) > 30.0f)
    					currentCam->rotX= (float)((mousePoints.y)/3); //						

  4. #4
    C++ Developer XSquared's Avatar
    Join Date
    Jun 2002
    Ontario, Canada
    Check out the SetCapture( ) link above. It actually sends the WM_CAPTURECHANGED message.
    Naturally I didn't feel inspired enough to read all the links for you, since I already slaved away for long hours under a blistering sun pressing the search button after typing four whole words! - Quzah

    You. Fetch me my copy of the Wall Street Journal. You two, fight to the death - Stewie

  5. #5
    Registered User
    Join Date
    Sep 2003
    Sorry, I'm not sure that I understand how this works. Could you explain it to me or give me some pseudo-code to work off of?

    Thanks so much!

  6. #6
    Yes, my avatar is stolen anonytmouse's Avatar
    Join Date
    Dec 2002
    I looked up some sample code and found this:

    GetCursorPos(&mpos); // Get mouse position
    SetCursorPos(320,240); // Reset mouse position to centre so it never reaches the edge.

    // Use mouse position...
    heading += (float)(320 - mpos.x)/100 * 5;
    yrot = heading;
    lookupdown -= (float)(240 - mpos.y)/100 * 5;

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Moving objects with mouse in 3D.
    By psychopath in forum Game Programming
    Replies: 15
    Last Post: 07-10-2011, 04:20 PM
  2. Moving mouse
    By Bill83 in forum Windows Programming
    Replies: 1
    Last Post: 04-02-2006, 08:58 AM
  3. mouse click coords and moving a rect
    By techrolla in forum Windows Programming
    Replies: 1
    Last Post: 03-07-2004, 09:49 PM
  4. Mouse moving
    By Sharky in forum Windows Programming
    Replies: 1
    Last Post: 08-28-2003, 05:46 AM
  5. Moving Mouse Pointer
    By loobian in forum Windows Programming
    Replies: 8
    Last Post: 10-16-2001, 03:45 PM