SDXFrameWork  0.04
SDXFrameWork
 全て クラス ネームスペース 関数 変数 ページ
Sprite.h
1 #pragma once
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 {
14 class Sprite
16 {
17 friend class Model;
18 
19 protected:
20  double zoomX;
21  double zoomY;
22 
23  double gapX;//中心モデルとの位置差
24  double gapY;
25 
26  double axisX;//回転軸
27  double axisY;
28 
29  Color color;
30  double angle;
31 public:
32  bool isTurn;
33  bool isVisible;
34  bool isActive;
35  bool isAllway;
36 
37  Sprite():
38  zoomX(1),
39  zoomY(1),
40  gapX(0),
41  gapY(0),
42  axisX(0),
43  axisY(0),
44  color(255,255,255,255),
45  angle(0),
46  isTurn(false),
47  isActive(false),
48  isVisible(true),
49  isAllway(true)
50  {}
51 
52  virtual ~Sprite(){};
53 
55  virtual void Draw( double X座標 , double Y座標 , bool カメラフラグ) = 0;
56 
58  void MoveGap(double X移動量 , double Y移動量)
59  {
60  gapX += X移動量;
61  gapY += Y移動量;
62  }
63 
65  void SetGap(double X座標 , double Y座標 )
66  {
67  gapX = X座標;
68  gapY = Y座標;
69  }
70 
72  void SetZoom(double X拡大率 , double Y拡大率)
73  {
74  zoomX = X拡大率;
75  zoomY = Y拡大率;
76  }
77 
79  void MultiZoom(double 倍率 )
80  {
81  MultiZoom(倍率,倍率);
82  }
83 
85  void MultiZoom(double X倍率 , double Y倍率)
86  {
87  zoomX *= X倍率;
88  zoomY *= Y倍率;
89 
90  gapX *= X倍率;
91  gapY *= Y倍率;
92 
93  axisX *= X倍率;
94  axisY *= Y倍率;
95  }
96 
98  double GetZoomX()
99  {
100  return this->zoomX;
101  }
102 
104  double GetZoomY()
105  {
106  return this->zoomY;
107  }
108 
110  void SetTurn( bool 反転フラグ )
111  {
112  this->isTurn = isTurn;
113  }
114 
116  bool GetTurn()
117  {
118  return this->isTurn;
119  }
120 
122  double GetAngle()
123  {
124  return this->angle;
125  }
126 
128  void SetAngle( double 角度 )
129  {
130  this->angle = 角度;
131  }
132 
134  void Rotate( double 角度 )
135  {
136  this->angle += 角度;
137  }
138 
141  {
142  return color;
143  }
144 
146  void SetColor( Color 描画色)
147  {
148  color = 描画色;
149  }
150 
152  virtual void AnimeUpdate(){};
153 };
154 
155 }
double GetZoomY()
縦方向の表示倍率を取得.
Definition: Sprite.h:104
void MultiZoom(double 倍率)
拡大率を掛け算する.
Definition: Sprite.h:79
void SetColor(Color 描画色)
透明度を0~255で設定.
Definition: Sprite.h:146
void SetGap(double X座標, double Y座標)
Shapeとの相対座標を指定.
Definition: Sprite.h:65
void SetZoom(double X拡大率, double Y拡大率)
表示倍率を設定.
Definition: Sprite.h:72
double GetAngle()
表示角度を取得.
Definition: Sprite.h:122
double GetZoomX()
横方向の表示倍率を取得.
Definition: Sprite.h:98
色を表すクラス.
Definition: Color.h:7
void MoveGap(double X移動量, double Y移動量)
Shapeとの相対座標を移動.
Definition: Sprite.h:58
void Rotate(double 角度)
回転させる.
Definition: Sprite.h:134
void MultiZoom(double X倍率, double Y倍率)
縦横別で拡大率を掛け算する.
Definition: Sprite.h:85
void SetAngle(double 角度)
表示角度を設定.
Definition: Sprite.h:128
virtual void Draw(double X座標, double Y座標, bool カメラフラグ)=0
Spriteを描画する.
void SetTurn(bool 反転フラグ)
左右反転フラグを設定.
Definition: Sprite.h:110
virtual void AnimeUpdate()
説明.
Definition: Sprite.h:152
bool GetTurn()
左右反転フラグを取得.
Definition: Sprite.h:116
Color GetColor()
描画色を取得.
Definition: Sprite.h:140