//---------------------------------------------------------------------------- void Player::LookAt(const Vector2F& rLookAt) { mLookAt = rLookAt; Application* pApp = Application::GetApplication(); const Float width = pApp->GetWidthF() * 0.5F; Float deadZoneX = width * mLookUpDeadZone.X(); Float xB = width - deadZoneX; if (rLookAt.X() > deadZoneX) { mYawIncrement -= mRotateSpeed * (rLookAt.X() - deadZoneX) / xB; } else if (rLookAt.X() < -deadZoneX) { mYawIncrement -= mRotateSpeed * (rLookAt.X() + deadZoneX) / xB; } const Float height = pApp->GetHeightF() * 0.5F; Float deadZoneY = height * mLookUpDeadZone.Y(); Float yB = height - deadZoneY; if (rLookAt.Y() > deadZoneY) { mPitchIncrement -= mRotateSpeed * (rLookAt.Y() - deadZoneY) / yB; } else if (rLookAt.Y() < -deadZoneY) { mPitchIncrement -= mRotateSpeed * (rLookAt.Y() + deadZoneY) / yB; } }