5 #include <Framework/Sprite.h>
6 #include <Framework/Shape.h>
16 double shadowSize = 1;
29 virtual ~
IModel() =
default;
58 if (shadowSize <= 0)
return;
77 void SetPos(
double X座標,
double Y座標)
override
93 void Move(
double X移動量,
double Y移動量)
override
IShape & iShape
対応Shape
Definition: IModel.h:20
ISprite & iSprite
対応Sprite
Definition: IModel.h:21
bool isRemove
消滅フラグ
Definition: IModel.h:18
virtual double GetW() const =0
幅を取得.
void SetPos(double X座標, double Y座標) override
指定座標に移動.
Definition: IModel.h:77
double GetH() const override
Y座標を取得.
Definition: IModel.h:131
virtual double GetH() const =0
高さを取得.
virtual void Draw() const
描画する.
Definition: IModel.h:47
void DrawShadow(double X座標ずれ, double Y座標ずれ)
影を描画する.
Definition: IModel.h:56
void Rotate(double 回転する角度)
回転させる.
Definition: ISprite.h:84
double GetAngle() const override
角度を取得する.
Definition: IModel.h:107
virtual void Draw(const IShape &図形)=0
ISpriteを描画する.
衝突判定可能な図形の抽象クラス.
Definition: IShape.h:21
double GetZoomX() const
横方向の拡大率を取得.
Definition: IModel.h:143
void SetColor(const Color &描画色)
色をまとめて変更する、透明度も含む.
Definition: IModel.h:137
virtual bool Hit(const IShape *iShape) const =0
衝突判定.
bool GetRemoveFlag() const
消滅フラグの取得.
Definition: IModel.h:32
virtual void MultiZoom(double X倍率, double Y倍率)=0
縦横別で拡大率を掛け算する.
double zoomY
描画倍率
Definition: ISprite.h:22
void Rotate(double 回転角度) override
回転させる.
Definition: IModel.h:99
Color color
描画色
Definition: ISprite.h:27
2Dモデルに貼り付けるスプライトを表す抽象クラス.
Definition: ISprite.h:17
virtual void Rotate(double 回転する角度)=0
回転する.
void SetShadowSize(double 影の表示倍率)
影の大きさを設定.
Definition: IModel.h:41
virtual double GetY() const =0
Y座標を取得.
色を表すクラス.
Definition: Color.h:11
virtual void Move(double X移動量, double Y移動量)=0
相対座標で移動.
void MultiZoom(double X倍率, double Y倍率) override
縦横別で拡大率を掛ける.
Definition: IModel.h:83
bool Hit(const IModel *判定を行うModel) const
Modelとの衝突判定.
Definition: IModel.h:155
virtual void Update()
更新処理を行う.
Definition: IModel.h:38
double GetW() const override
X座標を取得.
Definition: IModel.h:125
IModel(IShape &図形, ISprite &描画方法)
コンストラクタ.
Definition: IModel.h:24
Point gap
Shape中心とSpriteとの位置差
Definition: ISprite.h:28
bool Hit(const IShape *判定を行うShape) const
Shapeとの衝突判定.
Definition: IModel.h:161
double zoomX
図形の拡大率
Definition: Framework/IPosition.h:14
void Move(double X移動量, double Y移動量) override
相対座標で移動.
Definition: IModel.h:93
double GetX() const override
X座標を取得.
Definition: IModel.h:113
virtual void SetPos(double X座標, double Y座標)=0
指定座標に移動.
位置と方向を持つクラスのインターフェース.
Definition: Framework/IPosition.h:11
ShapeとSpriteをまとめて、2Dモデルを表すクラス.
Definition: IModel.h:12
void Move(double X移動量, double Y移動量) override
相対座標で移動.
Definition: Point.h:57
void MultiZoom(double 倍率)
拡大率を掛け算する.
Definition: ISprite.h:44
virtual double GetX() const =0
X座標を取得.
double GetY() const override
Y座標を取得.
Definition: IModel.h:119
double zoomX
描画倍率
Definition: ISprite.h:21
double zoomY
図形の拡大率
Definition: Framework/IPosition.h:15
double GetZoomY() const
縦方向の拡大率を取得.
Definition: IModel.h:149