SDXFrameWork 0.09 SDXFrameWork

- Main Page
- Related Pages
- Classes

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
124 Color GetColor()
125 {
126 return color;
127 }
128
130 void SetColor( Color 描画色)
131 {
132 color = 描画色;
133 }
134
136 virtual void AnimeUpdate(){};
137 };
138
139 }
SDX::ISprite::GetTurn
bool GetTurn()
左右反転フラグを取得.
Definition: ISprite.h:100
SDX::ISprite::Rotate
void Rotate(double 回転する角度)
回転させる.
Definition: ISprite.h:118
SDX::Point
点を表す図形クラス.
Definition: Shape.h:129
SDX::ISprite::SetGap
void SetGap(const Point &座標)
Shapeとの相対座標を指定.
Definition: ISprite.h:49
SDX::ISprite::AnimeUpdate
virtual void AnimeUpdate()
説明.
Definition: ISprite.h:136
SDX::ISprite::SetAngle
void SetAngle(double 角度)
表示角度を設定.
Definition: ISprite.h:112
SDX::ISprite::SetTurn
void SetTurn(bool 反転フラグ)
左右反転フラグを設定.
Definition: ISprite.h:94
SDX::ISprite
2Dモデルに貼り付けるスプライトを表す抽象クラス.
Definition: ISprite.h:14
SDX::ISprite::SetColor
void SetColor(Color 描画色)
透明度を0～255で設定.
Definition: ISprite.h:130
SDX::ISprite::Draw
virtual void Draw(const Point &座標, bool カメラフラグ)=0
ISpriteを描画する.
SDX::Color
色を表すクラス.
Definition: Color.h:7
SDX::ISprite::MultiZoom
void MultiZoom(double X倍率, double Y倍率)
縦横別で拡大率を掛け算する.
Definition: ISprite.h:69
SDX::ISprite::GetAngle
double GetAngle()
表示角度を取得.
Definition: ISprite.h:106
SDX::ISprite::SetZoom
void SetZoom(double X拡大率, double Y拡大率)
表示倍率を設定.
Definition: ISprite.h:56
SDX::IModel
ShapeとSpriteをまとめて、2Dモデルを表すクラス.
Definition: Model.h:12
SDX::ISprite::MultiZoom
void MultiZoom(double 倍率)
拡大率を掛け算する.
Definition: ISprite.h:63
SDX::ISprite::GetColor
Color GetColor()
描画色を取得.
Definition: ISprite.h:124
SDX::ISprite::GetZoomY
double GetZoomY()
縦方向の表示倍率を取得.
Definition: ISprite.h:88
SDX::ISprite::GetZoomX
double GetZoomX()
横方向の表示倍率を取得.
Definition: ISprite.h:82
SDX::ISprite::MoveGap
void MoveGap(double X移動量, double Y移動量)
Shapeとの相対座標を移動.
Definition: ISprite.h:42