宣言部のActor_2D::DrawUpdate();関数の2つの関数ですがこれはしっかり抽象基底クラスを継承した抽象基底クラスの関数の定義を書いて居るのでしょか?心配なので質問しました。
cpp
1#ifndef ___PLAYER_HPP__ 2#define ___PLAYER_HPP__ 3 4#include <vector> 5#include "Collision.hpp" 6#include "Rectangle.hpp" 7#include "InputKey.hpp" 8#include "Actor_2D.hpp" 9 10 11 12// テスト用 13 14 15class Player_2D : public Actor_2D 16{ 17public: 18 19 Player_2D(class Game* g); //コンストラクタ 20 ~Player_2D(); //デストラクタ 21 22 23 void Actor_2D::DrawUpdate(); 24 void Actor_2D::Update(); 25 26 27 28 29 Box_Collision_2D Col; //当たり判定 30private: 31 32 void keyInput(); 33 34 35 class Sprite* mSprite = nullptr; 36 class Input_Key* mInput = nullptr; 37}; 38 39 40 41#endif 42 43
cpp
1#ifndef ___PLAYER_HPP 2#define ___PLAYER_HPP 3 4// 自作ヘッダー 5#include "../Header/Player.hpp" 6#include "../Header/Game.hpp" 7#include "../Header/Collision.hpp" 8#include "../Header/Rectangle.hpp" 9#include "../Header/InputKey.hpp" 10 11// 標準ヘッダー 12#include <vector> 13 14 15// テスト用 16 17 18// コンストラクタ 19Player_2D::Player_2D(class Game* g) : Actor_2D() 20{ 21 mInput = new Input_Key(g); 22} 23 24void Player_2D::keyInput() 25{ 26 float speed = 10.0f; 27 28 // キー入力 29 glm::vec2 v(0, 0); 30 if (mInput->KeyDownHold(GLFW_KEY_UP) == true) 31 { 32 v.y += 1.0f; 33 } 34 else if (mInput->KeyDownHold(GLFW_KEY_DOWN) == true) 35 { 36 v.y += -1.0f; 37 } 38 else if (mInput->KeyDownHold(GLFW_KEY_LEFT) == true) 39 { 40 v.x += -1.0f; 41 } 42 else if (mInput->KeyDownHold(GLFW_KEY_RIGHT) == true) 43 { 44 v.x += +1.0f; 45 } 46 47 Position += v * speed; 48 49} 50 51void Player_2D::Update() 52{ 53 keyInput(); 54} 55 56//描画 57void Player_2D::DrawUpdate() 58{ 59} 60 61#endif
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。