|
| Line (double X中心座標, double Y中心座標, double 角度, double 長さ, double 太さ) |
|
| Line (double X中心座標, double Y中心座標, double 角度, double 前方長さ, double 後方長さ, double 太さ) |
|
virtual IShape * | Clone (double X座標, double Y座標) const |
| 同じ形の図形を作る. More...
|
|
double | GetX () const |
| X座標を取得. More...
|
|
double | GetY () const |
| Y座標を取得. More...
|
|
double | GetW () const |
| 幅を取得. More...
|
|
double | GetH () const |
| 高さを取得. More...
|
|
void | SetPos (double X座標, double Y座標) |
| 指定座標に移動. More...
|
|
void | MultiZoom (double X倍率, double Y倍率) |
| 縦横別で拡大率を掛け算する. More...
|
|
void | Rotate (double 回転する角度) |
| 回転する. More...
|
|
void | SetAngle (double 指定角度) |
| 角度を指定する. More...
|
|
void | Move (double X移動量, double Y移動量) |
| 相対座標で移動. More...
|
|
void | Draw (Color 描画色, int 透過率, Camera *座標変換Camera=nullptr) const |
| 描画する. More...
|
|
double | GetXA () const |
|
double | GetYA () const |
|
double | GetXB () const |
|
double | GetYB () const |
|
double | GetThick () const |
|
void | SetThick (double 太さ) |
|
double | GetAngle () const |
|
double | GetLength () const |
|
double | GetThickHarf () const |
|
double | GetThickPow () const |
|
double | GetMinX () const |
|
double | GetMinY () const |
|
double | GetMaxX () const |
|
double | GetMaxY () const |
|
bool | Hit (const IShape *shape) const |
| 衝突判定. More...
|
|
bool | Hit (const Complex *complex) const |
|
bool | Hit (const Point *point) const |
|
bool | Hit (const Line *line) const |
|
bool | Hit (const Rect *rect) const |
|
bool | Hit (const Circle *circle) const |
|
bool | LinePoint (double px, double py, double range) const |
| 線と点の当たり判定. More...
|
|
void | SetZoom (double X拡大率, double Y拡大率) |
| 拡大率を設定. More...
|
|
void | MultiZoom (double 倍率) |
| 拡大率を掛け算する. More...
|
|
void | MoveA (double 距離, double 方向) |
| 極座標で移動. More...
|
|
double | GetDirect (IShape *比較対象) |
| 対象との角度を取得. More...
|
|
double | GetDistance (IShape *比較対象) |
| 対象との相対座標を取得. More...
|
|
|
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...
|
|
太さのある線を表す図形クラス.
bool SampleShape()
{
using namespace SDX;
Rect rect(60, 60, 100, 100);
Line line(200, 100, PAI / 4, 300, 5);
shapes[0] = &circle;
shapes[1] = ▭
shapes[2] = &line;
{
circle.
SetPos(Input::mouse.x, Input::mouse.y);
line.Rotate(0.01);
bool isHit[3];
isHit[0] = circle.Hit(&rect) || circle.Hit(&line);
isHit[1] = shapes[1]->Hit(shapes[0]) || shapes[1]->Hit(shapes[2]);
isHit[2] = shapes[2]->Hit(shapes[0]) || shapes[2]->Hit(shapes[1]);
for (int a = 0; a < 3; ++a)
{
if (isHit[a])
{
shapes[a]->Draw(Color::Red, 255);
}
else
{
shapes[a]->Draw(Color::White, 255);
}
}
if (Input::key.Return.on) break;
}
return true;
}