1 #pragma once//©SDXFramework http://sourceforge.jp/projects/dxframework/
2 #include<Framework/Sprite.h>
3 #include<Framework/Shape.h>
4 #include<Framework/Camera.h>
18 double shadowSize = 1;
21 bool isRemove =
false;
57 if( iSprite.
GetColor() == Color::White )
77 if( shadowSize <= 0 )
return;
82 double zoomX = iSprite.zoomX;
83 double zoomY = iSprite.zoomY;
84 iSprite.zoomX *= shadowSize;
85 iSprite.zoomY *= shadowSize;
87 iSprite.zoomX = zoomX;
88 iSprite.zoomY = zoomY;
98 void Move(
double X移動量 ,
double Y移動量)
100 iShape.
Move(X移動量, Y移動量);
106 iShape.
Move(距離 * cos(角度), 距離 * sin(角度));
159 iSprite.
Rotate( 角度 - this->angle);
184 return iShape.
GetX();
190 return iShape.
GetY();
196 return iShape.
Hit( &判定を行うModel->iShape);
202 return iShape.
Hit(判定を行うShape);
212 pt.x = 座標変換に使うCamera->TransX(Input::mouse.x + 座標変換に使うCamera->GetCenterX());
213 pt.y = 座標変換に使うCamera->TransY(Input::mouse.y + 座標変換に使うCamera->GetCenterY());
215 pt.x = Input::mouse.x;
216 pt.y = Input::mouse.y;
219 return iShape.
Hit(&pt);
226 return atan2( 比較対象->GetY() -
GetY(), 比較対象->GetX() -
GetX());
233 const double xd = this->
GetX() - 比較対象->GetX();
234 const double yd = this->
GetY() - 比較対象->GetY();
236 return sqrt( xd * xd + yd * yd );
242 template <
class TShape,
class TSprite>
249 Model(TShape &&図形と位置,TSprite &&描画方法):
static bool SetBlendMode(BlendMode ブレンドモード, int 設定値)
ブレンド描画のモードを設定.
Definition: Screen.h:132
void SetColor(Color 描画色)
色をまとめて変更する、透明度も含む.
Definition: Model.h:164
Modelの基本クラス.
Definition: Model.h:243
bool GetRemoveFlag()
消滅フラグの取得.
Definition: Model.h:34
bool Hit(IModel *判定を行うModel)
Modelとの衝突判定.
Definition: Model.h:194
virtual void Draw()
描画する.
Definition: Model.h:55
void AnimeUpdate()
アニメーションを更新する.
Definition: Model.h:92
virtual double GetY() const =0
Y座標を取得.
static bool SetBright(Color 輝度)
描画輝度を設定.
Definition: Screen.h:149
double GetY() const
Y座標を取得.
Definition: Model.h:188
void DrawShadow(double X座標ずれ, double Y座標ずれ)
影を描画する.
Definition: Model.h:75
void Rotate(double 回転する角度)
回転させる.
Definition: ISprite.h:118
bool Hit(IShape *判定を行うShape)
Shapeとの衝突判定.
Definition: Model.h:200
点を表す図形クラス.
Definition: Shape.h:129
位置情報を持つ図形の抽象クラス.
Definition: IShape .h:18
double GetZoomY()
縦方向の拡大率を取得.
Definition: Model.h:176
virtual void AnimeUpdate()
説明.
Definition: ISprite.h:136
double GetAngle()
角度を取得する.
Definition: Model.h:151
bool Hit(Camera *座標変換に使うCamera=nullptr)
マウスカーソルとの衝突判定.
Definition: Model.h:206
static Camera * Now()
アクティブなカメラを取得.
Definition: Camera.h:54
void SetIsCamera(bool カメラ利用フラグ)
描画にカメラを使うか設定.
Definition: Model.h:49
void MultiZoom(double X倍率, double Y倍率)
縦横別で拡大率を掛ける.
Definition: Model.h:134
2Dモデルに貼り付けるスプライトを表す抽象クラス.
Definition: ISprite.h:14
void SetColor(Color 描画色)
透明度を0~255で設定.
Definition: ISprite.h:130
void SetShadowSize(double 影の表示倍率)
影の大きさを設定.
Definition: Model.h:43
virtual void Draw(const Point &座標, bool カメラフラグ)=0
ISpriteを描画する.
double GetZoomX()
横方向の拡大率を取得.
Definition: Model.h:170
色を表すクラス.
Definition: Color.h:7
virtual void Update()
更新処理を行う.
Definition: Model.h:40
virtual bool Hit(const IShape *IShape) const =0
衝突判定.
void Rotate(double 回転角度)
回転させる.
Definition: Model.h:144
void SetZoom(double 拡大率)
拡大率を設定する.
Definition: Model.h:116
virtual double GetX() const =0
X座標を取得.
void Move(double X移動量, double Y移動量)
相対座標で移動.
Definition: Model.h:98
void MovePolar(double 距離, double 角度)
極座標で移動.
Definition: Model.h:104
2D用に座標変換を行うカメラを表すクラス.
Definition: Camera.h:16
void SetZoom(double X拡大率, double Y拡大率)
縦横別で拡大率を設定する.
Definition: Model.h:122
void SetAngle(double 角度)
角度を設定する.
Definition: Model.h:157
ShapeとSpriteをまとめて、2Dモデルを表すクラス.
Definition: Model.h:12
void MultiZoom(double 倍率)
拡大率を掛け算する.
Definition: ISprite.h:63
virtual void SetPos(double X座標, double Y座標)=0
指定座標に移動.
int GetAlpha() const
透明度を取得.
Definition: Color.h:43
Color GetColor()
描画色を取得.
Definition: ISprite.h:124
double GetX() const
X座標を取得.
Definition: Model.h:182
void SetPos(double X座標, double Y座標)
指定座標に移動.
Definition: Model.h:110
virtual void Move(double X移動量, double Y移動量)=0
相対座標で移動.
double GetDistance(T *比較対象)
対象との相対座標を取得.
Definition: Model.h:231
void MultiZoom(double 倍率)
拡大率を掛け算する.
Definition: IShape .h:113
double GetDirect(T *比較対象)
対象との角度を取得.
Definition: Model.h:224
void MultiZoom(double 倍率)
拡大率を掛ける.
Definition: Model.h:128