Graphics v0.0.0
A simple abstraction layer for the modern graphics APIs.
载入中...
搜索中...
未找到
Controller.h
1// Copyright 2022 ShenMian
2// License(Apache-2.0)
3
4#pragma once
5
6#include <math/math.hpp>
7
8class Camera;
9class Gamepad;
10
15{
16public:
20 Controller() = default;
21
27 Controller(Camera& cam);
28
34 void update(float dt);
35
36 void move_front(float step);
37 void move_right(float step);
38 void move_up(float step);
39
40 void turn_right(float step);
41 void look_up(float step);
42
48 void set_speed(float v);
49
55 void set_smoothness(float v);
56
62 void set_camera(Camera& cam);
63
69 void set_gamepad(Gamepad& gamepad);
70
71private:
77 void process_keyboard(float dt);
78
84 void process_mouse(float dt);
85
91 void process_gamepad(float dt);
92
93 Camera* camera_ = nullptr;
94 float speed_ = 200.f;
95
96 float smoothness_ = 11;
97 Vector3f target_;
98
99 Gamepad* gamepad_ = nullptr;
100};
摄像机.
Definition: Camera.h:12
摄像机控制器.
Definition: Controller.h:15
void set_gamepad(Gamepad &gamepad)
设置要获取输入的手柄.
Definition: Controller.cpp:74
void set_smoothness(float v)
设置平滑度.
Definition: Controller.cpp:63
void update(float dt)
通过外部输入更新相机.
Definition: Controller.cpp:14
void set_camera(Camera &cam)
设置控制的相机.
Definition: Controller.cpp:68
void set_speed(float v)
设置移动速度.
Definition: Controller.cpp:58
Controller()=default
默认构造函数.
游戏手柄.
Definition: Gamepad.h:19