SDXFrameWork  0.04
SDXFrameWork
 全て クラス ネームスペース 関数 変数 ページ
Object.h
1 #pragma once
2 #include <SDXFrameWork.h>
3 #include <Framework/ModelMove.h>
4 #include <Framework/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;
32  Belong belong;
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 , attribute);
54  }
55 
56  void SetTimer(int フレーム数)
57  {
58  timer = フレーム数;
59  }
60 
61 public:
63  Object( Shape *当たり判定 , Sprite *デフォルトスプライト , double 攻撃力 = 0 , Belong 所属 = Belong::Etc):
64  Model( 当たり判定 , デフォルトスプライト ),
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 
98  Belong GetBelong()
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 damage, int attribute){}
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:689
Belong belong
生存期間
Definition: Object.h:32
ModelにSTG用の機能を追加したクラス
Definition: Object.h:21
void AnimeUpdate()
アニメーションを更新する.
Definition: Model.h:108
virtual void Damaged(double damage, int attribute)
攻撃された時の処理
Definition: Object.h:113
virtual bool RemoveCheck(Rect *存在可能範囲)
所属するレイヤー
Definition: Object.h:35
bool GetRemoveFlag()
消滅フラグの取得
Definition: Object.h:87
Belong GetBelong()
所属を取得
Definition: Object.h:98
virtual void React()
ダメージを受けた時の処理
Definition: Object.h:110
bool isOutCheck
消滅フラグ
Definition: Object.h:28
int attribute
攻撃力
Definition: Object.h:30
int GetTimer()
発生後経過時間を返す
Definition: Object.h:71
2Dモデルに貼り付けるスプライトを表す抽象クラス.
Definition: Sprite.h:15
Object(Shape *当たり判定, Sprite *デフォルトスプライト, double 攻撃力=0, Belong 所属=Belong::Etc)
説明
Definition: Object.h:63
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