SDXFrameWork  0.07
SDXFrameWork
 全て クラス ネームスペース 関数 変数 列挙型 列挙型の値 ページ
Object.h
1 #pragma once//☀SDXFramework
2 #include <SDXFrameWork.h>
3 #include <Framework/ModelMove.h>
4 #include <Utility/Module.h>
5 
6 namespace SDX
7 {
9 enum class Belong
10 {
11  Ally,
12  EnemyF,
13  EnemyG,
14  Item,
15  Block,
16  Etc,
17 };
18 
21 class Object : public Model , public ModelMove
22 {
23 friend class Layer;
24 
25 protected:
26  int timer = 0;
27  bool isRemove = false;
28  bool isOutCheck = true;
29  double power;
30  int attribute;
31  int lifeTime = -1;
33 
35  virtual bool RemoveCheck(Rect* 存在可能範囲)
36  {
37  if(
38  timer == this->lifeTime ||
39  (isOutCheck && !shape->Hit( 存在可能範囲 ) )
40  )
41  {
42  this->isRemove = true;
43  }
44 
45  if (isRemove) Remove();
46 
47  return this->isRemove;
48  }
49 
51  virtual void Attack(Object *攻撃対象 )
52  {
53  攻撃対象->Damaged( power );
54  }
55 
56  void SetTimer(int フレーム数)
57  {
58  timer = フレーム数;
59  }
60 
61 public:
63  Object( Shape *当たり判定 , Sprite *デフォルトSprite , double 攻撃力 = 0 , Belong 所属 = Belong::Etc):
64  Model(当たり判定, デフォルトSprite),
65  ModelMove(this),
66  power(攻撃力),
67  belong(所属)
68  {}
69 
71  int GetTimer()
72  {
73  return timer;
74  }
75 
76  virtual ~Object(){}
77 
79  virtual void Update()
80  {
81  this->timer++;
82  AnimeUpdate();
83  this->Act();
84  }
85 
88  {
89  return isRemove;
90  }
91 
92  void SetRemoveFlag(bool 消滅フラグ)
93  {
94  isRemove = 消滅フラグ;
95  }
96 
99  {
100  return belong;
101  }
102 
104  virtual void Act(){}
105 
107  virtual void Remove(){}
108 
110  virtual void React(){}
111 
113  virtual void Damaged(double 被ダメージ){}
114 
115 };
116 }
double power
攻撃力
Definition: Object.h:29
int lifeTime
生存期間
Definition: Object.h:31
virtual void Act()
Update時の行動処理.
Definition: Object.h:104
bool isRemove
消滅フラグ
Definition: Object.h:27
ShapeとSpriteをまとめて、2Dモデルを表すクラス.
Definition: Model.h:12
矩形を表す図形クラス.
Definition: Shape.h:702
Belong belong
所属するレイヤー
Definition: Object.h:32
Object(Shape *当たり判定, Sprite *デフォルトSprite, double 攻撃力=0, Belong 所属=Belong::Etc)
説明.
Definition: Object.h:63
ModelにSTG用の機能を追加したクラス.
Definition: Object.h:21
void AnimeUpdate()
アニメーションを更新する.
Definition: Model.h:116
地上の敵
空中の敵
virtual bool RemoveCheck(Rect *存在可能範囲)
消滅判定を行う.
Definition: Object.h:35
アイテム
Belong
所属するレイヤーの識別子.
Definition: Object.h:9
bool GetRemoveFlag()
消滅フラグの取得.
Definition: Object.h:87
Belong GetBelong()
所属を取得.
Definition: Object.h:98
virtual void React()
ダメージを受けた時の処理.
Definition: Object.h:110
virtual void Damaged(double 被ダメージ)
攻撃された時の処理.
Definition: Object.h:113
bool isOutCheck
範囲外処理を行うかフラグ
Definition: Object.h:28
int timer
発生してから経過したフレーム数
Definition: Object.h:26
int attribute
攻撃属性
Definition: Object.h:30
int GetTimer()
発生後経過時間を返す.
Definition: Object.h:71
2Dモデルに貼り付けるスプライトを表す抽象クラス.
Definition: Sprite.h:15
virtual void Remove()
消滅時の処理.
Definition: Object.h:107
位置情報を持つ図形の抽象クラス.
Definition: Shape.h:16
virtual void Attack(Object *攻撃対象)
衝突した相手に攻撃する.
Definition: Object.h:51
virtual void Update()
状態の更新.
Definition: Object.h:79
Modelの移動を行うクラス.
Definition: ModelMove.h:8