dakeeper1995

Members
  • Content count

    2
  • Joined

  • Last visited

Community Reputation

109 Neutral

About dakeeper1995

  • Rank
    Newbie
  1. Camera Issues

    I figured it out by myself actually. Sorry, I didn't provide more code because I cannibalized a whole bunch of projects together and, seeing as I'm new to programming, I doubt anyone could've understood what most of it was (I have very bad programming conventions) In case anyone was wondering (or had/have the same problem), I calculated my look at point (D3DXMatrixLookAtLH pAt) before keyboard input changed pEye. My view matrix was passed to DirectX afterwards, so there was a small jump on my screen. Solved by placing the four "if(...)EyePt..." lines before calculating pAt. Thanks for the replies.
  2. Camera Issues

    Hey guys, first post here. I have a slight problem with my camera right now. When I press the right or left keys (A/D), the screen jumps in that direction(by a lot more then just the key press), movement goes as planned, and when the key is released the screen jumps back to where it would've been. Here's the relevant pieces of code: The message loop: [CODE] while( msg.message != WM_QUIT ) { if ( PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE ) ) { if (msg.message==WM_KEYDOWN) OnKeyDown(msg.wParam); else if (msg.message==WM_KEYUP) OnKeyUp(msg.wParam); else{ TranslateMessage( &msg ); DispatchMessage( &msg ); } } else Render(); } [/CODE] [CODE] void OnKeyDown(WPARAM key){ switch (key){ case 0x41: ak=TRUE; break; case 0x53: sk=TRUE; break; case 0x44: dk=TRUE; break; case 0x57: wk=TRUE; break; default: break; } } void OnKeyUp(WPARAM key){ switch (key){ case 0x41: ak=FALSE; break; case 0x53: sk=FALSE; break; case 0x44: dk=FALSE; break; case 0x57: wk=FALSE; break; default: break; } } if (ak==TRUE) EyePt-=sideVector; if (sk==TRUE) EyePt-=CurrentView if (dk==TRUE) EyePt+=sideVector; if(wk==TRUE) EyePt+=CurrentView; [/CODE] I'm working on implementing a camera class, but right now I'm very confused as to why my camera jumps whenever the A/D buttons are pressed. SOrry for the messy coding.