2 #include<Framework/Camera.h>
3 #include<Multimedia/Drawing.h>
23 static bool RectRect(
double x1 ,
double y1 ,
double x2 ,
double y2 ,
double x3 ,
double y3 ,
double x4 ,
double y4)
28 if ((x1 < x3 && x1 < x4) || (x2 > x3 && x2 > x4))
35 if ((x2 < x3 && x2 < x4) || (x1 > x3 && x1 > x4))
43 if ((y1 < y3 && y1 < y4) || (y2 > y3 && y2 > y4))
50 if ((y2 < y3 && y2 < y4) || (y1 > y3 && y1 > y4))
60 static bool LineLine(
double x1 ,
double y1 ,
double x2 ,
double y2 ,
double x3 ,
double y3 ,
double x4 ,
double y4)
63 if ((
double(x1 - x2) * (y3 - y1) + (y1 - y2) * (x1 - x3)) *
64 (
double(x1 - x2) * (y4 - y1) + (y1 - y2) * (x1 - x4)) > 0)
69 if ((
double(x3 - x4) * (y1 - y3) + (y3 - y4) * (x3 - x1)) *
70 (
double(x3 - x4) * (y2 - y3) + (y3 - y4) * (x3 - x2)) > 0)
79 static int PointPoint(
double x1 ,
double y1 ,
double x2 ,
double y2)
81 return int((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
91 virtual bool Hit(
const Shape *shape)
const = 0;
92 virtual bool Hit(
const Complex *complex)
const = 0;
93 virtual bool Hit(
const Point *point)
const = 0;
94 virtual bool Hit(
const Line *line)
const = 0;
95 virtual bool Hit(
const Rect *rect)
const = 0;
96 virtual bool Hit(
const Circle *circle)
const = 0;
99 virtual void SetPos(
double X座標 ,
double Y座標) = 0;
102 virtual Shape*
Clone(
double x ,
double y)
const = 0;
117 virtual void MultiZoom(
double X倍率 ,
double Y倍率) = 0;
120 virtual void Move(
double X移動量 ,
double Y移動量) = 0;
125 Move( 距離 * cos(方向) , 距離 * sin(方向) );
129 virtual void Draw(
Color rgb ,
int transRate ,
Camera *camera = 0)
const = 0;
132 virtual void Rotate(
double angle) = 0;
135 virtual void SetAngle(
double angle) = 0;
140 return atan2(比較対象->GetY() - this->
GetY(), 比較対象->GetX() - this->
GetX());
146 const double xd = this->
GetX() - 比較対象->GetX();
147 const double yd = this->
GetY() - 比較対象->GetY();
149 return sqrt( xd * xd + yd * yd );
153 virtual double GetX()
const = 0;
156 virtual double GetY()
const = 0;
159 virtual double GetW()
const = 0;
162 virtual double GetH()
const = 0;
166 class Complex :
public Shape
170 std::vector<Shape*> shapes;
174 Complex(Shape *shape)
176 shapes.push_back( shape );
183 for(
auto it: shapes )
185 buf->shapes.push_back( it );
193 for(
auto it: shapes )
199 void Move(
double mX ,
double mY)
201 for(
auto it: shapes )
209 return shapes[0]->GetX();
214 return shapes[0]->GetY();
219 return shapes[0]->GetW();
224 return shapes[0]->GetH();
229 for(
auto it: shapes )
231 it->MultiZoom( rateX , rateY );
239 for(
auto it: shapes )
247 for(
auto it: shapes )
249 it->SetAngle( angle );
255 for(
auto it: shapes )
257 it->Draw( rgb , transRate , camera );
263 return shape->Hit(
this );
267 for(
auto itA : this->shapes )
269 for(
auto itB : this->shapes )
271 if( itA->Hit(itB) )
return true;
276 bool Hit(
const Point *point)
const;
277 bool Hit(
const Line *line)
const;
278 bool Hit(
const Rect *rect)
const;
279 bool Hit(
const Circle *circle)
const;
283 class Point :
public Shape
295 Point(
double x ,
double y):
302 return new Point( x , y );
311 void Move(
double mX ,
double mY)
352 Drawing::Pixel((
int)camera->TransX(x), (int)camera->TransY(y), rgb);
363 return shape->Hit(
this );
367 for(
auto it : complex->shapes )
369 if( it->Hit(
this ) )
return true;
373 bool Hit(
const Point *point)
const
375 return ( point->x == this->x && point->y == this->y );
377 bool Hit(
const Line *line)
const;
378 bool Hit(
const Rect *rect)
const;
379 bool Hit(
const Circle *circle)
const;
383 class Line :
public Shape
387 virtual void CulParam()
394 this->xA = x + cos( angle ) * lengthA;
395 this->yA = y + sin( angle ) * lengthA;
396 this->xB = x - cos( angle ) * lengthB;
397 this->yB = y - sin( angle ) * lengthB;
398 this->width = int(abs(this->xB - this->xA));
399 this->height = int(abs(this->yB - this->yA));
400 this->thickHarf = int(this->thick / 2);
401 this->thickPow = int(this->thick * this->thick / 4);
402 this->minX = int( this->xA < this->xB ? this->xA:this->xB );
403 this->maxX = int( this->xA > this->xB ? this->xA:this->xB );
404 this->minY = int( this->yA < this->yB ? this->yA:this->yB );
405 this->maxY = int( this->yA > this->yB ? this->yA:this->yB );
432 Line(
double x ,
double y ,
double angle ,
double length ,
double thick):
445 return new Line( x , y , this->angle , this->lengthA , this->thick);
477 this->lengthA *= rateX;
478 this->lengthB *= rateY;
479 this->thick *= rateX;
489 this->angle += angle;
499 void Move(
double mX ,
double mY )
519 Drawing::Line((
int)camera->TransX(xA), (int)camera->TransY(yA), (int)camera->TransX(xB), (int)camera->TransY(yB), rgb, (int)(camera->GetZoom()));
520 Drawing::Circle((
int)camera->TransX(xA), (int)camera->TransX(yA), (int)(thickHarf*camera->GetZoom()), rgb,
true);
521 Drawing::Circle((
int)camera->TransX(xB), (int)camera->TransX(yB), (int)(thickHarf*camera->GetZoom()), rgb,
true);
525 Drawing::Line((
int)xA, (
int)yA, (
int)xB, (
int)yB, rgb, (
int)thick);
552 double GetThick()
const
557 void SetThick(
double thick)
560 this->thickHarf = int(this->thick / 2);
561 this->thickPow = int(this->thick * this->thick / 4);
564 double GetAngle()
const
569 void MoveAngle(
double angle)
571 this->angle += angle;
575 double GetLength()
const
577 return this->lengthA + this->lengthB;
580 double GetThickHarf()
const
582 return this->thickHarf;
585 double GetThickPow()
const
587 return this->thickPow;
590 double GetMinX()
const
595 double GetMinY()
const
600 double GetMaxX()
const
605 double GetMaxY()
const
612 return shape->Hit(
this );
616 for(
auto it : complex->shapes )
618 if( it->Hit(
this ) )
return true;
622 bool Hit(
const Point *point)
const
624 return LinePoint( point->GetX() , point->GetY() , this->GetThickPow() );
626 bool Hit(
const Line *line)
const
629 if(
RectRect(this->GetXA() - this->GetThickHarf() ,this->GetYA() - this->GetThickHarf() , this->GetXB() - line->GetThickHarf() , this->GetYB() - line->GetThickHarf() ,
630 line->GetXA() - this->GetThickHarf() ,line->GetYA() - this->GetThickHarf() , line->GetXB() - line->GetThickHarf() , line->GetYB() - line->GetThickHarf() ) )
635 if(
LineLine(this->GetXA() ,this->GetYA() ,this->GetXB() ,this->GetYB() ,line->GetXA(),line->GetYA(),line->GetXB(),line->GetYB() ) )
641 if( this->GetLength() != 0)
643 if( this->
LinePoint( line->GetXA() , line->GetYA() , (this->GetThickHarf() + line->GetThickHarf()) * (this->GetThickHarf() + line->GetThickHarf()) ) )
return true;
644 if( this->
LinePoint( line->GetXB() , line->GetYB() , (this->GetThickHarf() + line->GetThickHarf()) * (this->GetThickHarf() + line->GetThickHarf()) ) )
return true;
646 if( line->GetLength() != 0 )
648 if( line->LinePoint( this->GetXA() , this->GetYA() , (this->GetThickHarf() + line->GetThickHarf()) * (this->GetThickHarf() + line->GetThickHarf()) ) )
return true;
649 if( line->LinePoint( this->GetXB() , this->GetYB() , (this->GetThickHarf() + line->GetThickHarf()) * (this->GetThickHarf() + line->GetThickHarf()) ) )
return true;
654 bool Hit(
const Rect *rect)
const;
655 bool Hit(
const Circle *circle)
const;
658 bool LinePoint(
double px ,
double py ,
double range )
const
660 const double dx = GetXB() - GetXA();
661 const double dy = GetYB() - GetYA();
663 const double a = dx * dx + dy * dy;
664 const double b = dx *(GetXA() - px) + dy *(GetYA() - py);
670 ( GetXA() - px ) *( GetXA() - px ) +
671 ( GetYA() - py ) *( GetYA() - py )
672 < range )
return true;
676 const double t = -b / a;
678 const double tx = GetXA() + dx*t;
679 const double ty = GetYA() + dy*t;
681 const double d = (px - tx)*(px - tx) + (py - ty) * (py - ty);
688 class Rect :
public Shape
700 Rect(
double x,
double y,
double width,
double height):
703 upLength( height/2 ),
704 downLength( height/2 ),
705 leftLength( width/2 ),
706 rightLength( width/2 )
720 void Move(
double mX ,
double mY )
731 rightLength *= rateX;
752 (
int)camera->TransX(x - leftLength) ,
753 (int)camera->TransY(y - upLength) ,
754 (int)camera->TransX(x + rightLength) ,
755 (int)camera->TransY(y + downLength) ,
764 (
int)( x - leftLength ) ,
765 (
int)( y - upLength ) ,
766 (
int)( x + rightLength ) ,
767 (
int)( y + downLength) ,
787 return upLength + downLength;
792 return leftLength + rightLength;
795 virtual double GetLeft()
const
797 return int(x - leftLength);
800 virtual double GetTop()
const
802 return int(y - upLength);
805 virtual double GetRight()
const
807 return int(x + rightLength);
810 virtual double GetBottom()
const
812 return int(y + downLength);
817 return shape->Hit(
this );
821 for(
auto it : complex->shapes )
823 if( it->Hit(
this ) )
return true;
827 bool Hit(
const Point *point)
const
831 point->x < this->GetRight()
833 point->x > this->GetLeft()
835 point->y < this->GetBottom()
837 point->y > this->GetTop()
841 bool Hit(
const Line *line)
const
845 line->GetMinX() - line->GetThickHarf(),
846 line->GetMinY() - line->GetThickHarf(),
847 line->GetMaxX() + line->GetThickHarf(),
848 line->GetMaxY() + line->GetThickHarf(),
861 if(
LineLine( line->GetXA() , line->GetYA() , line->GetXB() , line->GetYB()
862 , this->GetLeft() - int(line->GetThickHarf() * 0.7) , this->GetTop() - int(line->GetThickHarf() * 0.7) , this->GetRight() + int(line->GetThickHarf() * 0.7) , this->GetBottom() + int(line->GetThickHarf() * 0.7) ))
867 if(
LineLine( line->GetXA() , line->GetYA() , line->GetXB() , line->GetYB()
868 , this->GetRight() + int(line->GetThickHarf() * 0.7) , this->GetTop() - int(line->GetThickHarf() * 0.7) , this->GetLeft() - int(line->GetThickHarf() * 0.7) , this->GetBottom() + int(line->GetThickHarf() * 0.7) ))
875 line->GetXA() + line->GetThickHarf() > this->GetLeft() && line->GetXA() - line->GetThickHarf() < this->GetRight() &&
876 line->GetYA() + line->GetThickHarf() > this->GetTop() && line->GetYA() - line->GetThickHarf() < this->GetBottom()
880 if( line->GetXA() < this->GetLeft() && line->GetYA() < this->GetTop() )
883 if( (line->GetXA() - this->GetLeft()) * (line->GetXA() - this->GetLeft()) +
884 (line->GetYA() - this->GetTop()) * (line->GetYA() - this->GetTop()) < line->GetThickPow() )
return true;
887 else if( line->GetXA() > this->GetRight() && line->GetYA() < this->GetTop() )
890 if( (line->GetXA() - this->GetRight()) * (line->GetXA() - this->GetRight()) +
891 (line->GetYA() - this->GetTop()) * (line->GetYA() - this->GetTop()) < line->GetThickPow() )
return true;
894 else if( line->GetXA() < this->GetLeft() && line->GetYA() > this->GetBottom() )
897 if( (line->GetXA() - this->GetLeft()) * (line->GetXA() - this->GetLeft()) +
898 (line->GetYA() - this->GetBottom()) * (line->GetYA() - this->GetBottom()) < line->GetThickPow() )
return true;
901 else if( line->GetXA() > this->GetRight() && line->GetYA() > this->GetBottom() )
904 if( (line->GetXA() - this->GetRight()) * (line->GetXA() - this->GetRight()) +
905 (line->GetYA() - this->GetBottom()) * (line->GetYA() - this->GetBottom()) < line->GetThickPow() )
return true;
915 line->GetXB() + line->GetThickHarf() > this->GetLeft() && line->GetXB() - line->GetThickHarf() < this->GetRight() &&
916 line->GetYB() + line->GetThickHarf() > this->GetTop() && line->GetYB() - line->GetThickHarf() < this->GetBottom()
920 if( line->GetXB() < this->GetLeft() && line->GetYB() < this->GetTop() )
922 if( (line->GetXB() - this->GetLeft()) * (line->GetXB() - this->GetLeft()) +
923 (line->GetYB() - this->GetTop()) * (line->GetYB() - this->GetTop()) < line->GetThickPow() )
return true;
926 else if( line->GetXB() > this->GetRight() && line->GetYB() < this->GetTop() )
929 if( (line->GetXB() - this->GetRight()) * (line->GetXB() - this->GetRight()) +
930 (line->GetYB() - this->GetTop()) * (line->GetYB() - this->GetTop()) < line->GetThickPow() )
return true;
933 else if( line->GetXB() < this->GetLeft() && line->GetYB() > this->GetBottom() )
936 if( (line->GetXB() - this->GetLeft()) * (line->GetXB() - this->GetLeft()) +
937 (line->GetYB() - this->GetBottom()) * (line->GetYB() - this->GetBottom()) < line->GetThickPow() )
return true;
940 else if( line->GetXB() > this->GetRight() && line->GetYB() > this->GetBottom() )
942 if( (line->GetXB() - this->GetRight()) * (line->GetXB() - this->GetRight()) +
943 (line->GetYB() - this->GetBottom()) * (line->GetYB() - this->GetBottom()) < line->GetThickPow() )
return true;
954 bool Hit(
const Rect *rect)
const
958 this->GetLeft() , this->GetTop() , this->GetRight() , this->GetBottom() ,
959 rect->GetLeft() , rect->GetTop() , rect->GetRight() , rect->GetBottom()
962 bool Hit(
const Circle *circle)
const;
966 class Circle :
public Shape
974 Circle(
double x ,
double y ,
double radius):
982 return new Circle( x , y , this->radius );
993 this->radius *= rateX;
1021 return int(radius*2);
1026 return int(radius*2);
1034 Drawing::Circle( (
int)camera->TransX(x) , (int)camera->TransY(y) , (int)(radius * camera->GetZoom()) , rgb ,
true );
1046 return shape->Hit(
this );
1050 for(
auto it : complex->shapes )
1052 if( it->Hit(
this ) )
return true;
1056 bool Hit(
const Point *point)
const
1060 ( point->x - this->x ) * ( point->x - this->x ) +
1061 ( point->y - this->y ) * ( point->y - this->y )
1063 ( this->radius * this->radius )
1066 bool Hit(
const Line *line)
const
1068 return line->LinePoint( x , y , (line->GetThickHarf() + radius) * (line->GetThickHarf() + radius) );
1070 bool Hit(
const Circle *circle)
const
1073 (this->x - circle->x) * (this->x - circle->x) +
1074 (this->y - circle->y) * (this->y - circle->y)
1076 (this->radius + circle->radius) * (this->radius + circle->radius)
1079 bool Hit(
const Rect *rect)
const
1086 this->x + this->radius >= rect->GetLeft()
1088 this->x - this->radius <= rect->GetRight()
1092 this->y >= rect->GetTop()
1094 this->y <= rect->GetBottom()
1100 this->x >= rect->GetLeft()
1102 this->x <= rect->GetRight()
1106 this->y + this->radius >= rect->GetTop()
1108 this->y - this->radius <= rect->GetBottom()
1112 (this->x - rect->GetLeft() ) * (this->x - rect->GetLeft() ) +
1113 (this->y - rect->GetTop() ) * (this->y - rect->GetTop() ) <=
1114 (this->radius * this->radius )
1116 (this->x - rect->GetRight()) * (this->x - rect->GetRight()) +
1117 (this->y - rect->GetTop() ) * (this->y - rect->GetTop() ) <=
1118 (this->radius * this->radius )
1120 (this->x - rect->GetLeft()) * (this->x - rect->GetLeft()) +
1121 (this->y - rect->GetBottom()) * (this->y -rect->GetBottom()) <=
1122 (this->radius * this->radius )
1124 (this->x - rect->GetRight()) * (this->x - rect->GetRight()) +
1125 (this->y - rect->GetBottom()) * (this->y - rect->GetBottom()) <=
1126 (this->radius * this->radius )
void SetPos(double x, double y)
指定座標に移動.
Definition: Shape.h:714
void SetPos(double x, double y)
指定座標に移動.
Definition: Shape.h:985
static bool SetBlendMode(BlendMode ブレンドモード, int 設定値)
ブレンド描画のモードを設定.
Definition: Screen.h:189
矩形を表す図形クラス.
Definition: Shape.h:689
virtual void Move(double X移動量, double Y移動量)=0
相対座標で移動.
double GetX() const
X座標を取得.
Definition: Shape.h:775
virtual double GetH() const =0
高さを取得.
double GetW() const
幅を取得.
Definition: Shape.h:785
太さのある線を表す図形クラス.
Definition: Shape.h:384
double GetY() const
Y座標を取得.
Definition: Shape.h:780
bool Hit(const Shape *shape) const
衝突判定.
Definition: Shape.h:261
double GetW() const
幅を取得.
Definition: Shape.h:327
virtual Shape * Clone(double x, double y) const =0
同じ形の図形を作る.
double GetY() const
Y座標を取得.
Definition: Shape.h:322
void SetAngle(double angle)
角度を指定する.
Definition: Shape.h:345
void MultiZoom(double rateX, double rateY)
縦横別で拡大率を掛け算する.
Definition: Shape.h:726
static bool Circle(int 中心X, int 中心Y, int 半径, Color 色, bool 塗りつぶしフラグ)
中心と半径を指定して円を描画.
Definition: Drawing.h:72
virtual double GetW() const =0
幅を取得.
bool Hit(const Shape *shape) const
衝突判定.
Definition: Shape.h:361
static int PointPoint(double x1, double y1, double x2, double y2)
二点間の距離を計算.
Definition: Shape.h:79
double GetDirect(Shape *比較対象)
対象との角度を取得.
Definition: Shape.h:138
double GetX() const
X座標を取得.
Definition: Shape.h:207
点を表す図形クラス.
Definition: Shape.h:284
void Move(double mX, double mY)
相対座標で移動.
Definition: Shape.h:720
double GetX() const
X座標を取得.
Definition: Shape.h:317
void SetPos(double x, double y)
指定座標に移動.
Definition: Shape.h:191
Shape * Clone(double x, double y) const
同じ形の図形を作る.
Definition: Shape.h:179
virtual void Rotate(double angle)=0
回転する.
複合図形を表すクラス.
Definition: Shape.h:167
void Move(double mX, double mY)
相対座標で移動.
Definition: Shape.h:199
Shape * Clone(double x, double y) const
同じ形の図形を作る.
Definition: Shape.h:980
void Draw(Color rgb, int transRate, Camera *camera=0) const
描画する.
Definition: Shape.h:1029
double GetW() const
幅を取得.
Definition: Shape.h:458
void MoveA(double 距離, double 方向)
極座標で移動.
Definition: Shape.h:123
double GetW() const
幅を取得.
Definition: Shape.h:1019
void MultiZoom(double 倍率)
拡大率を掛け算する.
Definition: Shape.h:111
double GetW() const
幅を取得.
Definition: Shape.h:217
double GetX() const
X座標を取得.
Definition: Shape.h:1009
double GetDistance(Shape *比較対象)
対象との相対座標を取得.
Definition: Shape.h:144
void Move(double mX, double mY)
相対座標で移動.
Definition: Shape.h:1003
void Rotate(double angle)
回転する.
Definition: Shape.h:487
色を表すクラス.
Definition: Color.h:7
void MultiZoom(double rateX, double rateY)
縦横別で拡大率を掛け算する.
Definition: Shape.h:991
virtual bool Hit(const Shape *shape) const =0
衝突判定.
void SetAngle(double angle)
角度を指定する.
Definition: Shape.h:493
void MultiZoom(double rateX, double rateY)
縦横別で拡大率を掛け算する.
Definition: Shape.h:337
void Draw(Color rgb, int transRate, Camera *camera=0) const
描画する.
Definition: Shape.h:514
void SetPos(double x, double y)
指定座標に移動.
Definition: Shape.h:468
void Draw(Color rgb, int transRate, Camera *camera=0) const
描画する.
Definition: Shape.h:253
virtual Shape * Clone(double x, double y) const
同じ形の図形を作る.
Definition: Shape.h:709
bool Hit(const Shape *shape) const
衝突判定.
Definition: Shape.h:815
static bool Pixel(int 座標X, int 座標Y, Color 色)
指定座標に点を描画.
Definition: Drawing.h:112
void MultiZoom(double rateX, double rateY)
縦横別で拡大率を掛け算する.
Definition: Shape.h:227
bool Hit(const Shape *shape) const
衝突判定.
Definition: Shape.h:1044
double GetY() const
Y座標を取得.
Definition: Shape.h:212
double GetY() const
Y座標を取得.
Definition: Shape.h:453
double GetH() const
高さを取得.
Definition: Shape.h:1024
double GetH() const
高さを取得.
Definition: Shape.h:222
void Draw(Color rgb, int transRate, Camera *camera=0) const
描画する.
Definition: Shape.h:347
virtual void Draw(Color rgb, int transRate, Camera *camera=0) const =0
描画する.
void Move(double mX, double mY)
相対座標で移動.
Definition: Shape.h:499
2D用に座標変換を行うカメラを表すクラス.
Definition: Camera.h:16
void SetPos(double x, double y)
指定座標に移動.
Definition: Shape.h:305
void SetAngle(double angle)
角度を指定する.
Definition: Shape.h:245
bool LinePoint(double px, double py, double range) const
説明.
Definition: Shape.h:658
static bool Rect(int 座標aX, int 座標aY, int 座標bX, int 座標bY, Color 色, bool 塗りつぶしフラグ)
座標aと座標bを対角の頂点とする矩形を描画.
Definition: Drawing.h:45
double GetH() const
高さを取得.
Definition: Shape.h:332
Shape * Clone(double x, double y) const
同じ形の図形を作る.
Definition: Shape.h:300
void Rotate(double angle)
回転する.
Definition: Shape.h:343
void Rotate(double angle)
回転する.
Definition: Shape.h:737
virtual double GetX() const =0
X座標を取得.
double GetX() const
X座標を取得.
Definition: Shape.h:448
virtual void SetPos(double X座標, double Y座標)=0
指定座標に移動.
円を表す図形クラス.
Definition: Shape.h:967
virtual void SetAngle(double angle)=0
角度を指定する.
double GetY() const
Y座標を取得.
Definition: Shape.h:1014
位置情報を持つ図形の抽象クラス.
Definition: Shape.h:16
static bool LineLine(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
線分の交差判定.
Definition: Shape.h:60
virtual double GetY() const =0
Y座標を取得.
void Draw(Color rgb, int transRate, Camera *camera=nullptr) const
描画する.
Definition: Shape.h:745
static bool RectRect(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
矩形の交差判定.
Definition: Shape.h:23
virtual Shape * Clone(double x, double y) const
同じ形の図形を作る.
Definition: Shape.h:443
static bool Line(int 始点X, int 始点Y, int 終点X, int 終点Y, Color 色, int 太さ)
始点と終点を結ぶ直線を描画.
Definition: Drawing.h:34
double GetH() const
高さを取得.
Definition: Shape.h:463
bool Hit(const Shape *shape) const
衝突判定.
Definition: Shape.h:610
void SetAngle(double angle)
角度を指定する.
Definition: Shape.h:741
void SetZoom(double X拡大率, double Y拡大率)
拡大率を設定.
Definition: Shape.h:105
void MultiZoom(double rateX, double rateY)
縦横別で拡大率を掛け算する.
Definition: Shape.h:475
void SetAngle(double angle)
角度を指定する.
Definition: Shape.h:1001
void Rotate(double angle)
回転する.
Definition: Shape.h:999
void Rotate(double angle)
回転する.
Definition: Shape.h:237
double GetH() const
高さを取得.
Definition: Shape.h:790
void Move(double mX, double mY)
相対座標で移動.
Definition: Shape.h:311