-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFrames.cpp
More file actions
64 lines (57 loc) · 1.17 KB
/
Frames.cpp
File metadata and controls
64 lines (57 loc) · 1.17 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
61
62
63
64
#include "Frames.h"
Framerate::Framerate()
{
mi_count = 0;
mcl_FPSclock.restart();
mi_shouldDraw = true;
mt_FPS.setPosition(10,10);
mt_FPS.setCharacterSize(30);
mt_FPS.setColor(sf::Color::White);
}
Framerate::~Framerate()
{
}
void Framerate::countFPS(sf::RenderWindow &win)
{
mt_FPS.setPosition(win.mapPixelToCoords(sf::Vector2i(10, 10)));
if(mcl_FPSclock.getElapsedTime().asSeconds() < 1)
{
mi_count++;
}
else if(mcl_FPSclock.getElapsedTime().asSeconds() >= 1)
{
mi_countact = mi_count;
mi_count = 0;
mcl_FPSclock.restart();
}
}
void Framerate::showhideFPS(sf::RenderWindow &win,sf::Event &Event)
{
if(mi_shouldDraw == false)
{
//do nothing
}
else if(mi_shouldDraw == true)
{
mss_ss << mi_countact;
mss_ss >> ms_showFPS;
mt_FPS.setString(ms_showFPS);
win.draw(mt_FPS);
mss_ss.clear();
}
}
//have to be first fkt in loop to get good times
void Framerate::startPoint()
{
mcl_FrameTime.restart();
}
//have to be last fkt in loop to get good times
void Framerate::endPoint()
{
mfl_FrameTime = static_cast<float>(mcl_FrameTime.getElapsedTime().asMicroseconds());
mfl_FrameTime /= 10000;
}
float Framerate::getFrameTime()
{
return mfl_FrameTime;
}