-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGame.cpp
More file actions
64 lines (40 loc) · 1.28 KB
/
Game.cpp
File metadata and controls
64 lines (40 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//
// Created by grzegorz on 24.09.18.
//
#include "Game.h"
Game::~Game() {
delete logLayer;
delete background;
delete bird;
delete pipe;
}
void Game::init() {
window = createWindow("Flappy", 1280, 720);
FontManager::get()->setScale(Vec2((float)window->getWidth()/32, (float)window->getHeight()/8));
Mat4 ortMat = Mat4::orthographic(-16.0f, 16.0f, -9.0f, 9.0f, -1.0f, 1.0f);
logLayer = new Layer(new BatchRenderer2D, new Shader("Shaders/basic.vert", "Shaders/basic.frag"), ortMat);
fps = new Label("", -15.5f, 8.0f, 0xf0f0ffff);
ups = new Label("", -15.5f, 7.0f, 0xf0f0ffff);
logLayer->add(fps);
logLayer->add(ups);
background = new BackGround(0.01);
bird = new Bird(ACCELERATION, BirdPositionX, BirdPositionY);
pipe = new Pipe(5);
}
void Game::render() { //as fast as possible
background->drewBG();
logLayer->render();
pipe->drewPipes();
bird->drewBird();
if(window->isKeyTyped(GLFW_KEY_SPACE)) spacePressed = true;
}
void Game::update() { //60 per second
background->moveBG();
bird->moveBird(spacePressed);
spacePressed = false;
pipe->movePipe();
}
void Game::tick() { //once per second
fps->text = std::to_string(getFPS()) + " fps";
ups->text = std::to_string(getUPS()) + " ups";
}