6 #include <Framework/IShape.h>
39 Rect(
double X座標,
double Y座標,
double 横幅A,
double 高さA,
double 横幅B = 0,
double 高さB = 0) :
48 template <
class T1,
class T2,
class T3,
class T4>
52 Rect(T1 X座標, T2 Y座標, T3 横幅A, T4 高さA, T3 横幅B = 0, T4 高さB = 0) :
64 shape->zoomX = this->
zoomX;
65 shape->zoomY = this->
zoomY;
69 void SetPos(
double X座標,
double Y座標)
override
75 void Move(
double X移動量,
double Y移動量)
override
95 void Draw(
const Color &描画色)
const override;
97 inline double GetX()
const override
102 inline double GetY()
const override
107 inline double GetW()
const override
112 inline double GetH()
const override
143 return shape->
Hit(
this);
148 for (
auto it : complex->
shapes)
150 if (it->Hit(
this))
return true;
158 point->
x < this->GetRight()
160 point->
x > this->GetLeft()
162 point->
y < this->GetBottom()
164 point->
y > this->GetTop()
265 bool Hit(
const Circle *circle)
const override;
273 Point GetCenter()
const
279 operator SDL_Rect()
const
double GetX() const override
X座標を取得.
Definition: Rect.h:97
double GetThickHarf() const
太さの半分を取得.
Definition: Line.h:208
double y
起点座標
Definition: Rect.h:26
Rect(T1 X座標, T2 Y座標, T3 横幅A, T4 高さA, T3 横幅B=0, T4 高さB=0)
座標と大きさを指定.
Definition: Rect.h:52
double GetYB() const
頂点BのY座標を取得.
Definition: Line.h:176
矩形を表す図形クラス.
Definition: Rect.h:22
double y
座標
Definition: Point.h:26
太さのある線を表す図形クラス.
Definition: Line.h:20
double GetBottom() const
下端のY座標を取得.
Definition: Rect.h:136
double widthRight
起点から右側の幅
Definition: Rect.h:29
double GetTop() const
上端のY座標を取得.
Definition: Rect.h:124
double GetY() const override
Y座標を取得.
Definition: Rect.h:102
double GetRight() const
右端のX座標を取得.
Definition: Rect.h:130
double GetMaxY() const
頂点AとBのY座標の大きい値を取得.
Definition: Line.h:238
void SetPos(double X座標, double Y座標) override
指定座標に移動.
Definition: Rect.h:69
double GetLeft() const
左端のX座標を取得.
Definition: Rect.h:118
std::vector< IShape * > shapes
保持するShape
Definition: Complex.h:23
Rect(double X座標, double Y座標, double 横幅A, double 高さA, double 横幅B=0, double 高さB=0)
座標と大きさを指定.
Definition: Rect.h:39
点を表す図形クラス.
Definition: Point.h:22
衝突判定可能な図形の抽象クラス.
Definition: IShape.h:21
virtual bool Hit(const IShape *iShape) const =0
衝突判定.
複合図形を表すクラス.
Definition: Complex.h:20
bool Hit(const Point *point) const override
衝突判定.
Definition: Rect.h:154
Point GetPoint() const
Pointを取得.
Definition: Rect.h:268
void Move(double X移動量, double Y移動量) override
相対座標で移動.
Definition: Rect.h:75
bool Hit(const Rect *rect) const override
衝突判定.
Definition: Rect.h:261
void Draw(const Color &描画色) const override
描画する.
Definition: ShapeDraw.h:33
double x
起点座標
Definition: Rect.h:25
bool Hit(const Line *line) const override
衝突判定.
Definition: Rect.h:168
double GetMinX() const
頂点AとBのX座標の小さい値を取得.
Definition: Line.h:220
色を表すクラス.
Definition: Color.h:11
double widthLeft
起点から左側の幅
Definition: Rect.h:28
double GetMinY() const
頂点AとBのY座標の小さい値を取得.
Definition: Line.h:226
static bool LineLine(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
線分の交差判定.
Definition: IShape.h:62
void Rotate(double 回転する角度) override
回転する.
Definition: Rect.h:90
Rect operator+(Point &加算値) const
座標に加算.
Definition: Rect.h:285
void MultiZoom(double X倍率, double Y倍率) override
縦横別で拡大率を掛け算する.
Definition: Rect.h:81
bool Hit(const IShape *shape) const override
衝突判定.
Definition: Rect.h:141
double GetXB() const
頂点BのX座標を取得.
Definition: Line.h:170
double zoomX
図形の拡大率
Definition: IPosition.h:14
double x
座標
Definition: Point.h:25
virtual IShape * Clone(double X座標, double Y座標) const override
同じ形の図形を作る.
Definition: Rect.h:61
bool Hit(const Complex *complex) const override
衝突判定.
Definition: Rect.h:146
double heightUp
起点から上側の幅
Definition: Rect.h:31
double GetYA() const
頂点AのY座標を取得.
Definition: Line.h:164
double GetXA() const
頂点AのX座標を取得.
Definition: Line.h:158
double GetMaxX() const
頂点AとBのX座標の大きい値を取得.
Definition: Line.h:232
円を表す図形クラス.
Definition: Circle.h:20
double GetW() const override
幅を取得.
Definition: Rect.h:107
double zoomY
図形の拡大率
Definition: IPosition.h:15
double GetH() const override
高さを取得.
Definition: Rect.h:112
double GetThickPow() const
太さの二乗を取得.
Definition: Line.h:214
double heightDown
起点から下側の幅
Definition: Rect.h:32