Original Post
i was wondering is there any good tutorials on mouse input.
LRESULT CALLBACK WndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch (uMsg) {
case WM_MOUSEMOVE:
{
int x = MAKEPOINTS(lParam).x;
int y = MAKEPOINTS(lParam).y;
return 0;
}
};
return DefWindowProc(hWnd,uMsg,wParam,lParam);
}
int x = MAKEPOINTS(lParam).x;
paddle.x += (float)( x - oldx ) * amount;
oldx=x;
//NEW CODE:
GLint viewport[4];
glGetIntegerv(GL_VIEWPORT, viewport);
//viewport[0] = x position of window in screen (0 if full screen?)
//viewport[0] = y position of window in screen (0 if full screen?)
//viewport[2] = width of window
//viewport[3] = height of window
//subtract half of the screen width from the paddle's X coordinate
//this is assuming that the paddle's X coordinate is directly related the mouse position (referenced from left side of screen)
float RealPaddleX = paddle.x - viewport[2]/2.0f;
//now your code (modified)...
glTexCoord2f(0.0f, 1.0f);
glVertex3f(1.0f + RealPaddleX , 1.0f, 1.0f);
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-1.0f + RealPaddleX , 1.0f, 1.0f);
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-1.0f + RealPaddleX , -1.0f, 1.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(1.0f + RealPaddleX , -1.0f, 1.0f);
WndProc(HWND hWnd,UINT uMsg/*==WM_MOUSEMOVE*/,WPARAM wParam,LPARAM lParam)
{
int x = MAKEPOINTS(lParam).x;
int y = MAKEPOINTS(lParam).y;
.....
}
This topic has been locked by a moderator. New replies are not allowed.
With your permission, GameDev.net uses analytics cookies to understand how people use the platform. You can accept analytics or continue with necessary cookies only. Learn more