[EDIT] camera controls

This commit is contained in:
Menno
2021-05-25 15:51:29 +02:00
parent cc7fae5d2f
commit 51cdc520e0
3 changed files with 24 additions and 6 deletions

View File

@@ -9,24 +9,42 @@ namespace entities
void Camera::Move(GLFWwindow* window)
{
float movement_speed = 0;
if (glfwGetKey(window, GLFW_KEY_W) == GLFW_PRESS)
{
position.z -= SPEED;
movement_speed -= SPEED;
}
if (glfwGetKey(window, GLFW_KEY_S) == GLFW_PRESS)
{
position.z += SPEED;
movement_speed += SPEED;
}
if (glfwGetKey(window, GLFW_KEY_D) == GLFW_PRESS)
{
position.x += SPEED;
rotation.y += ROT_SPEED;
}
if (glfwGetKey(window, GLFW_KEY_A) == GLFW_PRESS)
{
position.x -= SPEED;
rotation.y -= ROT_SPEED;
}
if (glfwGetKey(window, GLFW_KEY_SPACE) == GLFW_PRESS)
{
rotation.x -= ROT_SPEED;
}
if (glfwGetKey(window, GLFW_KEY_LEFT_SHIFT) == GLFW_PRESS)
{
rotation.x += ROT_SPEED;
}
float dx = glm::cos(glm::radians(rotation.y + 90)) * movement_speed;
float dz = glm::sin(glm::radians(rotation.y + 90)) * movement_speed;
position.x += dx;
position.z += dz;
}
}

View File

@@ -14,6 +14,7 @@ namespace entities
private:
// The movement speed of the camera
const float SPEED = 0.52f;
const float ROT_SPEED = 1.0f;
glm::vec3 position;
glm::vec3 rotation;