|
| Rect (double X座標, double Y座標, double 横幅A, double 高さA, double 横幅B=0, double 高さB=0) |
| 座標と大きさを指定. More...
|
|
template<class T1 , class T2 , class T3 , class T4 > |
| Rect (T1 X座標, T2 Y座標, T3 横幅A, T4 高さA, T3 横幅B=0, T4 高さB=0) |
| 座標と大きさを指定. More...
|
|
virtual IShape * | Clone (double X座標, double Y座標) const override |
| 同じ形の図形を作る. More...
|
|
void | SetPos (double X座標, double Y座標) override |
| 指定座標に移動. More...
|
|
void | Move (double X移動量, double Y移動量) override |
| 相対座標で移動. More...
|
|
void | MultiZoom (double X倍率, double Y倍率) override |
| 縦横別で拡大率を掛け算する. More...
|
|
void | Rotate (double 回転する角度) override |
| 回転する. More...
|
|
void | Draw (const Color &描画色) const override |
| 描画する. More...
|
|
double | GetX () const override |
| X座標を取得. More...
|
|
double | GetY () const override |
| Y座標を取得. More...
|
|
double | GetW () const override |
| 幅を取得. More...
|
|
double | GetH () const override |
| 高さを取得. More...
|
|
double | GetLeft () const |
| 左端のX座標を取得. More...
|
|
double | GetTop () const |
| 上端のY座標を取得. More...
|
|
double | GetRight () const |
| 右端のX座標を取得. More...
|
|
double | GetBottom () const |
| 下端のY座標を取得. More...
|
|
bool | Hit (const IShape *shape) const override |
| 衝突判定. More...
|
|
bool | Hit (const Complex *complex) const override |
| 衝突判定. More...
|
|
bool | Hit (const Point *point) const override |
| 衝突判定. More...
|
|
bool | Hit (const Line *line) const override |
| 衝突判定. More...
|
|
bool | Hit (const Rect *rect) const override |
| 衝突判定. More...
|
|
bool | Hit (const Circle *circle) const override |
| 衝突判定. More...
|
|
Point | GetPoint () const |
| Pointを取得. More...
|
|
Point | GetCenter () const |
|
| operator SDL_Rect () const |
| SDL_Rectに型変換. More...
|
|
Rect | operator+ (Point &加算値) const |
| 座標に加算. More...
|
|
void | SetZoom (double X拡大率, double Y拡大率) |
| 拡大率を設定. More...
|
|
void | MultiZoom (double 倍率) |
| 拡大率を掛け算する. More...
|
|
void | MoveA (double 距離, double 方向) |
| 極座標で移動. More...
|
|
void | MoveF (double 距離) |
| 前方に移動. More...
|
|
virtual double | GetAngle () const |
| 角度を取得する. More...
|
|
void | SetAngle (double 指定角度) |
| 角度を指定する. More...
|
|
double | GetDirect (IPosition *比較対象) const |
| 対象との角度を取得. More...
|
|
double | GetDistance (const IPosition *比較対象) const |
| 対象との相対座標を取得. More...
|
|
virtual void | SetZoom (double X拡大率, double Y拡大率) |
| 拡大率を設定. More...
|
|
void | MultiZoom (double 倍率) |
| 拡大率を掛け算する. More...
|
|
void | MoveA (double 距離, double 方向) |
| 極座標で移動. More...
|
|
virtual double | GetAngle () const |
| 角度を取得する. More...
|
|
virtual void | SetAngle (double 指定角度) |
| 角度を指定する. More...
|
|
double | GetDirect (IPosition *比較対象) const |
| 対象との角度を取得. More...
|
|
double | GetDistance (IPosition *比較対象) const |
| 対象との相対座標を取得. More...
|
|
double | CompareAngle (double 角度) |
| 角度の差を計算する
|
|
|
static bool | RectRect (double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) |
| 矩形の交差判定. More...
|
|
static bool | LineLine (double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) |
| 線分の交差判定. More...
|
|
static int | PointPoint (double x1, double y1, double x2, double y2) |
| 二点間の距離を計算. More...
|
|
double | zoomX = 1 |
| 図形の拡大率
|
|
double | zoomY = 1 |
| 図形の拡大率
|
|
矩形を表す図形クラス.
#include <SDXFramework.h>
bool SampleShape()
{
using namespace SDX;
Rect rect(60, 60, 100, 100);
Line line(200, 100,
PAI / 4, 600, 5);
shapes[0] = &circle;
shapes[1] = ▭
shapes[2] = &line;
{
line.Rotate(0.01);
for (int a = 0; a < 3; ++a)
{
int hit = 0;
for (int b = 0; b < 3; ++b)
{
if (a == b){ continue; }
hit += shapes[a]->Hit(shapes[b]);
}
if ( hit == 0)
{
shapes[a]->Draw(Color::White);
}
else if (hit == 1)
{
}
else
{
}
}
}
return true;
}