void FPcamera::Pitch(const double dt) { if (Application::camera_pitch > 0.0) { lookUp(dt); } else if (Application::camera_pitch < 0.0) { lookDown(dt); } }
/** Look-down fascade */ void Movement::lookDown() { lookDown(STEP_SIZE); }
void FPcamera::Update(double dt, float heightOffset) { if(myKeys['w']) { if(myKeys['z']) { if (!m_bJumping) { Run(dt, heightOffset); } else { Walk(dt, heightOffset); } myKeys['z'] = false; } else { Walk(dt, heightOffset); } myKeys['w'] = false; } if(myKeys['s']) { if(myKeys['z']) { Run(-dt, heightOffset); myKeys['z'] = false; } else { Walk(-dt, heightOffset); } myKeys['s'] = false; } if(myKeys['a']) { Strafe(-dt, heightOffset); myKeys['a'] = false; } if(myKeys['d']) { Strafe(dt, heightOffset); myKeys['d'] = false; } if(myKeys['q']) { moveUp(dt, 5.f); myKeys['q'] = false; } if(myKeys['e']) { moveDown(dt, 5.f); myKeys['e'] = false; } if(myKeys[32]) { Jump(dt); myKeys[32] = false; } if(myKeys['c']) { m_bCrouching = true; Crouch(dt, heightOffset); myKeys['c'] = false; } else { m_bCrouching = false; Crouch(-dt, heightOffset); } if(m_bRecoil) { static float timer = 0.f; lookUp(dt, 20.f); timer += (float)dt; if (timer >= 0.1f) { m_bRecoil = false; timer = 0.f; } } else if (!m_bRecoil && recoil > 0.f) { lookDown(dt, 20.f); } UpdateJump(dt, heightOffset); if(Application::camera_pitch != 0) { Pitch(dt); } if(Application::camera_yaw != 0) { Yaw(dt); } if(myKeys['r']) { Reset(); myKeys['r'] = false; } }