aboutsummaryrefslogtreecommitdiff
path: root/mwe/gameloop
diff options
context:
space:
mode:
authorWBoerenkamps <wrj.boerenkamps@student.avans.nl>2024-11-03 10:49:19 +0100
committerWBoerenkamps <wrj.boerenkamps@student.avans.nl>2024-11-03 10:49:19 +0100
commited8534e2d150428bcbc4a6df8940323ae8db2925 (patch)
treeb8c2402d13a4de190539e781c037c69d779cf95a /mwe/gameloop
parent5e833bba513d97c39f4e0d26b45a9095c32812a6 (diff)
fixed gameloop double window and event poc is working again
Diffstat (limited to 'mwe/gameloop')
-rw-r--r--mwe/gameloop/include/loopManager.h4
-rw-r--r--mwe/gameloop/include/timer.h2
-rw-r--r--mwe/gameloop/src/loopManager.cpp21
3 files changed, 18 insertions, 9 deletions
diff --git a/mwe/gameloop/include/loopManager.h b/mwe/gameloop/include/loopManager.h
index 1befb69..e2c2e2c 100644
--- a/mwe/gameloop/include/loopManager.h
+++ b/mwe/gameloop/include/loopManager.h
@@ -1,11 +1,11 @@
#pragma once
-#include "event.h"
#include "gameObject.h"
#include "window.h"
#include <SDL2/SDL.h>
class LoopManager {
public:
LoopManager();
+ ~LoopManager();
void setup();
void loop();
@@ -17,7 +17,7 @@ private:
void fixedUpdate();
void render();
bool gameRunning = false;
- WindowManager window;
+ WindowManager* window;
int timeScale = 1;
float accumulator = 0.0;
double currentTime;
diff --git a/mwe/gameloop/include/timer.h b/mwe/gameloop/include/timer.h
index 8273746..3c38594 100644
--- a/mwe/gameloop/include/timer.h
+++ b/mwe/gameloop/include/timer.h
@@ -25,7 +25,7 @@ private:
double maximumDeltaTime = 0.25;
double deltaTime;
double frameTargetTime = FPS / 1000;
- double fixedDeltaTime = 0.01;
+ double fixedDeltaTime = 0.02;
double elapsedTime;
double elapsedFixedTime;
double time;
diff --git a/mwe/gameloop/src/loopManager.cpp b/mwe/gameloop/src/loopManager.cpp
index 0392853..b075bd8 100644
--- a/mwe/gameloop/src/loopManager.cpp
+++ b/mwe/gameloop/src/loopManager.cpp
@@ -1,6 +1,15 @@
#include "loopManager.h"
#include "timer.h"
-LoopManager::LoopManager() {}
+LoopManager::LoopManager() {
+ this->window = new WindowManager();
+
+}
+LoopManager::~LoopManager(){
+ for(GameObject* object : this->objectList){
+ delete object;
+ }
+ delete this->window;
+}
void LoopManager::processInput() {
SDL_Event event;
SDL_PollEvent(&event);
@@ -42,14 +51,14 @@ void LoopManager::loop() {
timer.enforceFrameRate();
}
- window.destroyWindow();
+ window->destroyWindow();
}
void LoopManager::setup() {
- gameRunning = window.initWindow();
- LoopTimer::getInstance().start();
- LoopTimer::getInstance().setFPS(500);
+ LoopTimer::getInstance().start();
+ LoopTimer::getInstance().setFPS(10);
+ this->gameRunning = true;
for (int i = 1; i < 3; i++) {
GameObject * square
= new GameObject("square2", i * 60, i * 60, 20, 20, 0, 0);
@@ -59,7 +68,7 @@ void LoopManager::setup() {
void LoopManager::render() {
fprintf(stderr, "**********render********** \n");
if (gameRunning) {
- window.render(objectList);
+ window->render(objectList);
}
}