SDXFrameWork  0.07
SDXFrameWork
 全て クラス ネームスペース 関数 変数 列挙型 列挙型の値 ページ
Sprite.h
1 #pragma once//☀SDXFramework
2 #include <Multimedia/Image.h>
3 #include <Framework/Shape.h>
4 #include <Framework/Camera.h>
5 #include <Multimedia/Screen.h>
6 #include <Multimedia/Input.h>
7 #include <Multimedia/Font.h>
8 #include <Framework/BmpFrame.h>
9 #include <memory>
10 
11 namespace SDX
12 {
15 class Sprite
16 {
17 friend class Model;
18 
19 protected:
20  double zoomX = 1;
21  double zoomY = 1;
22 
23  double gapX = 0;//中心モデルとの位置差
24  double gapY = 0;
25 
26  double axisX = 0;//回転軸
27  double axisY = 0;
28 
29  Color color = {255,255,255,255};
30  double angle = 0;
31 public:
32  bool isTurn = false;
33  bool isVisible = true;
34  bool isActive = false;
35  bool isAllway = true;
36 
37  Sprite(){}
38 
39  virtual ~Sprite(){};
40 
42  virtual void Draw( double X座標 , double Y座標 , bool カメラフラグ) = 0;
43 
45  void MoveGap(double X移動量 , double Y移動量)
46  {
47  gapX += X移動量;
48  gapY += Y移動量;
49  }
50 
52  void SetGap(double X座標 , double Y座標 )
53  {
54  gapX = X座標;
55  gapY = Y座標;
56  }
57 
59  void SetZoom(double X拡大率 , double Y拡大率)
60  {
61  zoomX = X拡大率;
62  zoomY = Y拡大率;
63  }
64 
66  void MultiZoom(double 倍率 )
67  {
68  MultiZoom(倍率,倍率);
69  }
70 
72  void MultiZoom(double X倍率 , double Y倍率)
73  {
74  zoomX *= X倍率;
75  zoomY *= Y倍率;
76 
77  gapX *= X倍率;
78  gapY *= Y倍率;
79 
80  axisX *= X倍率;
81  axisY *= Y倍率;
82  }
83 
85  double GetZoomX()
86  {
87  return this->zoomX;
88  }
89 
91  double GetZoomY()
92  {
93  return this->zoomY;
94  }
95 
97  void SetTurn( bool 反転フラグ )
98  {
99  this->isTurn = 反転フラグ;
100  }
101 
103  bool GetTurn()
104  {
105  return this->isTurn;
106  }
107 
109  double GetAngle()
110  {
111  return this->angle;
112  }
113 
115  void SetAngle( double 角度 )
116  {
117  this->angle = 角度;
118  }
119 
121  void Rotate( double 回転する角度 )
122  {
123  this->angle += 回転する角度;
124  }
125 
128  {
129  return color;
130  }
131 
133  void SetColor( Color 描画色)
134  {
135  color = 描画色;
136  }
137 
139  virtual void AnimeUpdate(){};
140 };
141 
142 }
double GetZoomY()
縦方向の表示倍率を取得.
Definition: Sprite.h:91
ShapeとSpriteをまとめて、2Dモデルを表すクラス.
Definition: Model.h:12
void MultiZoom(double 倍率)
拡大率を掛け算する.
Definition: Sprite.h:66
void SetColor(Color 描画色)
透明度を0~255で設定.
Definition: Sprite.h:133
void SetGap(double X座標, double Y座標)
Shapeとの相対座標を指定.
Definition: Sprite.h:52
void SetZoom(double X拡大率, double Y拡大率)
表示倍率を設定.
Definition: Sprite.h:59
double GetAngle()
表示角度を取得.
Definition: Sprite.h:109
double GetZoomX()
横方向の表示倍率を取得.
Definition: Sprite.h:85
色を表すクラス.
Definition: Color.h:7
void MoveGap(double X移動量, double Y移動量)
Shapeとの相対座標を移動.
Definition: Sprite.h:45
void MultiZoom(double X倍率, double Y倍率)
縦横別で拡大率を掛け算する.
Definition: Sprite.h:72
void Rotate(double 回転する角度)
回転させる.
Definition: Sprite.h:121
void SetAngle(double 角度)
表示角度を設定.
Definition: Sprite.h:115
2Dモデルに貼り付けるスプライトを表す抽象クラス.
Definition: Sprite.h:15
virtual void Draw(double X座標, double Y座標, bool カメラフラグ)=0
Spriteを描画する.
void SetTurn(bool 反転フラグ)
左右反転フラグを設定.
Definition: Sprite.h:97
virtual void AnimeUpdate()
説明.
Definition: Sprite.h:139
bool GetTurn()
左右反転フラグを取得.
Definition: Sprite.h:103
Color GetColor()
描画色を取得.
Definition: Sprite.h:127