From e7b5781216b024dcbfa68b7c532a56454b6f820e Mon Sep 17 00:00:00 2001 From: bailwillharr Date: Fri, 27 Jan 2023 00:10:08 +0000 Subject: [PATCH] wont work how fix --- test/src/camera_controller.cpp | 9 ++++----- test/src/game.cpp | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/test/src/camera_controller.cpp b/test/src/camera_controller.cpp index 613b61a..9f3a0ff 100644 --- a/test/src/camera_controller.cpp +++ b/test/src/camera_controller.cpp @@ -55,17 +55,16 @@ void CameraControllerSystem::onUpdate(float ts) bool isSliding = false; if (col->getIsColliding()) { - if (c->dy != 0.0f && slope <= MAX_SLOPE_ANGLE) { - t->position.y = m_scene->getComponent(col->getLastEntityCollided())->worldMatrix[3][1] + 1.8f; + if (c->dy < 0.0f && slope <= MAX_SLOPE_ANGLE) { + // in the ground, push up a bit + t->position.y += dt; c->dy = 0.0f; } else { // slide across wall isSliding = true; } - } else { - c->dy -= G * dt; } - + c->dy -= G * dt; // jumping constexpr float JUMPVEL = (float)2.82231110971133017648; //std::sqrt(2 * G * JUMPHEIGHT); diff --git a/test/src/game.cpp b/test/src/game.cpp index 9f9aa97..934eac1 100644 --- a/test/src/game.cpp +++ b/test/src/game.cpp @@ -55,7 +55,7 @@ void playGame() myScene->registerSystem(); auto camera = myScene->createEntity("camera"); - myScene->getComponent(camera)->position.y = 2.0f; + myScene->getComponent(camera)->position.y = 8.0f; auto cameraCollider = myScene->addComponent(camera); cameraCollider->colliderType = engine::ColliderType::SPHERE; cameraCollider->colliders.sphereCollider.r = 1.8f;