ShitEngine
基于 C++20 与 SDL3 的轻量级 2D 游戏引擎
Toggle main menu visibility
载入中...
搜索中...
未找到
Time.h
浏览该文件的文档.
1
#pragma once
2
#include "
Core.h
"
3
#include <SDL3/SDL_stdinc.h>
4
5
namespace
Shit
{
6
class
Game
;
7
13
class
SHIT_API
Time
{
14
friend
class
Game
;
15
public
:
16
Time
(
const
Time
&) =
delete
;
17
Time
&
operator=
(
const
Time
&) =
delete
;
18
Time
(
Time
&&) =
delete
;
19
Time
&
operator=
(
Time
&&) =
delete
;
20
21
// --- 静态API ---
22
static
Time
&
GetInstance
();
23
static
void
Init
() {
GetInstance
().init(); }
24
static
void
Update
() {
GetInstance
().update(); }
25
static
float
GetDeltaTime
() {
return
GetInstance
().m_deltaTime; }
26
static
double
GetTotalTime
() {
return
GetInstance
().m_totalTime; }
27
static
unsigned
int
GetTargetFPS
() {
return
GetInstance
().m_targetFPS; }
28
static
void
SetTargetFPS
(
unsigned
int
fps) {
GetInstance
().m_targetFPS = fps; }
29
30
private
:
31
Time
();
32
~Time
();
33
34
void
init();
35
void
update();
36
37
float
m_deltaTime = 0.0f;
38
double
m_totalTime = 0.0f;
39
Uint64 m_lastTime;
40
Uint64 m_currentTime;
41
unsigned
int
m_targetFPS = 144;
42
};
43
}
Core.h
SHIT_API
#define SHIT_API
定义
Core.h:12
Shit::Game
引擎主控类
定义
Game.h:16
Shit::Time
时间管理类
定义
Time.h:13
Shit::Time::Init
static void Init()
初始化计时器
定义
Time.h:23
Shit::Time::Time
Time(const Time &)=delete
Shit::Time::Time
Time(Time &&)=delete
Shit::Time::operator=
Time & operator=(Time &&)=delete
Shit::Time::GetTargetFPS
static unsigned int GetTargetFPS()
目标帧率上限
定义
Time.h:27
Shit::Time::Update
static void Update()
每帧调用,更新 m_deltaTime
定义
Time.h:24
Shit::Time::GetInstance
static Time & GetInstance()
Shit::Time::GetTotalTime
static double GetTotalTime()
引擎启动至今的总时长(秒)
定义
Time.h:26
Shit::Time::operator=
Time & operator=(const Time &)=delete
Shit::Time::GetDeltaTime
static float GetDeltaTime()
上一帧耗时(秒)
定义
Time.h:25
Shit::Time::Game
friend class Game
定义
Time.h:14
Shit::Time::SetTargetFPS
static void SetTargetFPS(unsigned int fps)
设帧率上限
定义
Time.h:28
Shit
定义
AudioPlayer.h:9
ShitEngine
Core
Time.h
制作者
1.17.0