|  | 
|  | 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;
}