殺虫侍
読み取り中…
検索中…
一致する文字列を見つけられません
player.h
[詳解]
1
7#pragma once
8#include "actor.h"
9#include "collider.h"
10
11class Camera;
12class Weapon;
13class Renderer;
14class Renderer2D;
15
21class Player : public Actor
22{
23public:
25 Player();
26
28 ~Player();
29
37 void Initialize(Renderer& renderer, Renderer2D& renderer2d, Camera* pCamera, Weapon* pWeapon);
38
40 void Setup() override;
41
43 void Update() override;
44
46 void Draw() override;
47
49 void Terminate() override;
50
55 DirectX::XMFLOAT3 GetPosition() { return m_position; }
56
61 void TakeDamage(int amount);
62
67 const Collider& GetCollider() const { return m_collider; }
68
69private:
71 void move();
73 void look();
75 void calcMoveAxis();
77 void calcWeaponPos();
79 void calcWeaponRot();
81 void knockback();
82
83 Camera* m_pCamera = nullptr;
84 Weapon* m_pWeapon = nullptr;
85 Collider m_collider;
86 Renderer2D* m_pRenderer2d = nullptr;
87
88 DirectX::XMFLOAT3 m_position = { 0, 0, -5.f };
89 DirectX::XMFLOAT4 m_rotation = { 0, 0, 0, 0 };
90
91 DirectX::XMFLOAT3 m_forward = { 0, 0, 1 };
92 DirectX::XMFLOAT3 m_right = { 1, 0, 0 };
93
94 float m_yaw;
95 float m_pitch;
96
97 float m_health = 50;
98
99 bool m_isKnockback = false;
100 float m_knockbackTimer = 0.f;
101 static constexpr float KNOCKBACK_DURATION = 0.25f;
102
103 bool m_isHit = false;
104 float m_hitTimer = 0.f;
105 static constexpr float HIT_DURATION = 2.f;
106};
アクターの基底クラス定義
ゲーム内アクター(プレイヤー・敵など)の純粋仮想基底クラス
Definition actor.h:15
ビュー行列と方向ベクトルを管理するカメラクラス
Definition camera.h:15
球体ベースの当たり判定コンポーネント
Definition collider.h:19
DirectX::XMFLOAT3 GetPosition()
ワールド座標を取得する
Definition player.h:55
void Draw() override
描画処理
Definition player.cpp:87
void Update() override
毎フレームの更新処理
Definition player.cpp:33
~Player()
デストラクタ
Definition player.cpp:13
void Setup() override
シーン開始時の初期化処理
Definition player.cpp:25
void Terminate() override
終了処理・リソース解放
Definition player.cpp:92
const Collider & GetCollider() const
当たり判定コライダーを取得する
Definition player.h:67
void Initialize(Renderer &renderer, Renderer2D &renderer2d, Camera *pCamera, Weapon *pWeapon)
必要な依存オブジェクトを受け取って初期化する
Definition player.cpp:17
void TakeDamage(int amount)
ダメージを受ける
Definition player.cpp:217
Player()
コンストラクタ
Definition player.cpp:9
Direct2D / DirectWrite を用いてテキストと画像を 2D 描画するクラス
Definition renderer_2d.h:29
Direct3D 11 デバイスとスワップチェーンを管理するレンダラークラス
Definition renderer.h:21
プレイヤーが装備する武器を管理するアクター
Definition weapon.h:20
球体コライダーコンポーネントの定義