SDXFrameWork  0.09
SDXFrameWork
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
ISprite.h
1 #pragma once//©SDXFramework http://sourceforge.jp/projects/dxframework/
2 #include <Multimedia/Image.h>
3 #include <Framework/Camera.h>
4 #include <Multimedia/Screen.h>
5 #include <Multimedia/Input.h>
6 #include <Multimedia/Font.h>
7 #include <Framework/BmpFrame.h>
8 #include <memory>
9 
10 namespace SDX
11 {
14 class ISprite
15 {
16 friend class IModel;
17 
18 protected:
19  double zoomX = 1;
20  double zoomY = 1;
21 
22  double gapX = 0;//中心モデルとの位置差
23  double gapY = 0;
24 
25  double axisX = 0;//回転軸
26  double axisY = 0;
27 
28  Color color = {255,255,255,255};
29  double angle = 0;
30 
31 public:
32  bool isTurn = false;
33 
34  ISprite(){}
35 
36  virtual ~ISprite(){};
37 
39  virtual void Draw( const Point &座標 , bool カメラフラグ) = 0;
40 
42  void MoveGap(double X移動量 , double Y移動量)
43  {
44  gapX += X移動量;
45  gapY += Y移動量;
46  }
47 
49  void SetGap(const Point &座標 )
50  {
51  gapX = 座標.x;
52  gapY = 座標.y;
53  }
54 
56  void SetZoom(double X拡大率 , double Y拡大率)
57  {
58  zoomX = X拡大率;
59  zoomY = Y拡大率;
60  }
61 
63  void MultiZoom(double 倍率 )
64  {
65  MultiZoom(倍率,倍率);
66  }
67 
69  void MultiZoom(double X倍率 , double Y倍率)
70  {
71  zoomX *= X倍率;
72  zoomY *= Y倍率;
73 
74  gapX *= X倍率;
75  gapY *= Y倍率;
76 
77  axisX *= X倍率;
78  axisY *= Y倍率;
79  }
80 
82  double GetZoomX()
83  {
84  return this->zoomX;
85  }
86 
88  double GetZoomY()
89  {
90  return this->zoomY;
91  }
92 
94  void SetTurn( bool 反転フラグ )
95  {
96  this->isTurn = 反転フラグ;
97  }
98 
100  bool GetTurn()
101  {
102  return this->isTurn;
103  }
104 
106  double GetAngle()
107  {
108  return this->angle;
109  }
110 
112  void SetAngle( double 角度 )
113  {
114  this->angle = 角度;
115  }
116 
118  void Rotate( double 回転する角度 )
119  {
120  this->angle += 回転する角度;
121  }
122 
125  {
126  return color;
127  }
128 
130  void SetColor( Color 描画色)
131  {
132  color = 描画色;
133  }
134 
136  virtual void AnimeUpdate(){};
137 };
138 
139 }
bool GetTurn()
左右反転フラグを取得.
Definition: ISprite.h:100
void Rotate(double 回転する角度)
回転させる.
Definition: ISprite.h:118
点を表す図形クラス.
Definition: Shape.h:129
void SetGap(const Point &座標)
Shapeとの相対座標を指定.
Definition: ISprite.h:49
virtual void AnimeUpdate()
説明.
Definition: ISprite.h:136
void SetAngle(double 角度)
表示角度を設定.
Definition: ISprite.h:112
void SetTurn(bool 反転フラグ)
左右反転フラグを設定.
Definition: ISprite.h:94
2Dモデルに貼り付けるスプライトを表す抽象クラス.
Definition: ISprite.h:14
void SetColor(Color 描画色)
透明度を0~255で設定.
Definition: ISprite.h:130
virtual void Draw(const Point &座標, bool カメラフラグ)=0
ISpriteを描画する.
色を表すクラス.
Definition: Color.h:7
void MultiZoom(double X倍率, double Y倍率)
縦横別で拡大率を掛け算する.
Definition: ISprite.h:69
double GetAngle()
表示角度を取得.
Definition: ISprite.h:106
void SetZoom(double X拡大率, double Y拡大率)
表示倍率を設定.
Definition: ISprite.h:56
ShapeとSpriteをまとめて、2Dモデルを表すクラス.
Definition: Model.h:12
void MultiZoom(double 倍率)
拡大率を掛け算する.
Definition: ISprite.h:63
Color GetColor()
描画色を取得.
Definition: ISprite.h:124
double GetZoomY()
縦方向の表示倍率を取得.
Definition: ISprite.h:88
double GetZoomX()
横方向の表示倍率を取得.
Definition: ISprite.h:82
void MoveGap(double X移動量, double Y移動量)
Shapeとの相対座標を移動.
Definition: ISprite.h:42