SDXFrameWork  0.09
SDXFrameWork
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
Public Member Functions | Public Attributes | Protected Attributes | List of all members
SDX::IModel Class Reference

ShapeとSpriteをまとめて、2Dモデルを表すクラス. More...

#include <Model.h>

Inherited by SDX::IObject, and SDX::Model< TShape, TSprite >.

Public Member Functions

 IModel (IShape &図形, ISprite &描画方法)
 
bool GetRemoveFlag ()
 消滅フラグの取得. More...
 
virtual void Update ()
 更新処理を行う. More...
 
void SetShadowSize (double 影の表示倍率)
 影の大きさを設定. More...
 
void SetIsCamera (bool カメラ利用フラグ)
 描画にカメラを使うか設定. More...
 
virtual void Draw ()
 描画する. More...
 
void DrawShadow (double X座標ずれ, double Y座標ずれ)
 影を描画する. More...
 
void AnimeUpdate ()
 アニメーションを更新する. More...
 
void Move (double X移動量, double Y移動量)
 相対座標で移動. More...
 
void MovePolar (double 距離, double 角度)
 極座標で移動. More...
 
void SetPos (double X座標, double Y座標)
 指定座標に移動. More...
 
void SetZoom (double 拡大率)
 拡大率を設定する. More...
 
void SetZoom (double X拡大率, double Y拡大率)
 縦横別で拡大率を設定する. More...
 
void MultiZoom (double 倍率)
 拡大率を掛ける. More...
 
void MultiZoom (double X倍率, double Y倍率)
 縦横別で拡大率を掛ける. More...
 
void Rotate (double 回転角度)
 回転させる. More...
 
double GetAngle ()
 角度を取得する. More...
 
void SetAngle (double 角度)
 角度を設定する. More...
 
void SetColor (Color 描画色)
 色をまとめて変更する、透明度も含む. More...
 
double GetZoomX ()
 横方向の拡大率を取得. More...
 
double GetZoomY ()
 縦方向の拡大率を取得. More...
 
double GetX () const
 X座標を取得. More...
 
double GetY () const
 Y座標を取得. More...
 
bool Hit (IModel *判定を行うModel)
 Modelとの衝突判定. More...
 
bool Hit (IShape *判定を行うShape)
 Shapeとの衝突判定. More...
 
bool Hit (Camera *座標変換に使うCamera=nullptr)
 マウスカーソルとの衝突判定. More...
 
template<class T >
double GetDirect (T *比較対象)
 対象との角度を取得. More...
 
template<class T >
double GetDistance (T *比較対象)
 対象との相対座標を取得. More...
 

Public Attributes

IShapeiShape
 
ISpriteiSprite
 

Protected Attributes

bool isRemove = false
 

Detailed Description

ShapeとSpriteをまとめて、2Dモデルを表すクラス.

//©SDXFramework http://sourceforge.jp/projects/dxframework/
//🍣初期化を行い何かキーを押すと終了する
//\todo 未実装
bool SampleModel()
{
using namespace SDX;
System::Initialise("sample", 600, 400);
/*
Camera camera(300, 200, 1);
camera.SetActive();
Image image("image.bmp");
Model model(new Point(300, 200), new SpImage(&image));
Model model2(new Point(550, 350), new SpImage(&image));
model2.SetIsCamera(false);
while (System::Update())
{
model.Draw();
model2.Draw();
camera.Update();
if (Input::pad.Down.hold ) Camera::Now()->MoveForcus(0, 5);
if (Input::pad.Up.hold ) Camera::Now()->MoveForcus(0, -5);
if (Input::pad.Right.hold ) Camera::Now()->MoveForcus(5, 0);
if (Input::pad.Left.hold ) Camera::Now()->MoveForcus(-5, 0);
if (Input::key.Z.hold) Camera::Now()->SetZoomForcus(2);
if (Input::key.X.hold) Camera::Now()->SetZoomForcus(0.5);
if (Input::key.C.hold) Camera::Now()->SetZoomForcus(1);
if (Input::key.Return.on) break;//Enterで終了
}
System::End();
*/
return true;
}

Member Function Documentation

bool SDX::IModel::GetRemoveFlag ( )

消滅フラグの取得.

virtual void SDX::IModel::Update ( )
virtual

更新処理を行う.

Reimplemented in SDX::IObject.

void SDX::IModel::SetShadowSize ( double  影の表示倍率)

影の大きさを設定.

void SDX::IModel::SetIsCamera ( bool  カメラ利用フラグ)

描画にカメラを使うか設定.

virtual void SDX::IModel::Draw ( )
virtual

描画する.

void SDX::IModel::DrawShadow ( double  X座標ずれ,
double  Y座標ずれ 
)

影を描画する.

void SDX::IModel::AnimeUpdate ( )

アニメーションを更新する.

void SDX::IModel::Move ( double  X移動量,
double  Y移動量 
)

相対座標で移動.

void SDX::IModel::MovePolar ( double  距離,
double  角度 
)

極座標で移動.

void SDX::IModel::SetPos ( double  X座標,
double  Y座標 
)

指定座標に移動.

void SDX::IModel::SetZoom ( double  拡大率)

拡大率を設定する.

void SDX::IModel::SetZoom ( double  X拡大率,
double  Y拡大率 
)

縦横別で拡大率を設定する.

void SDX::IModel::MultiZoom ( double  倍率)

拡大率を掛ける.

void SDX::IModel::MultiZoom ( double  X倍率,
double  Y倍率 
)

縦横別で拡大率を掛ける.

void SDX::IModel::Rotate ( double  回転角度)

回転させる.

double SDX::IModel::GetAngle ( )

角度を取得する.

void SDX::IModel::SetAngle ( double  角度)

角度を設定する.

void SDX::IModel::SetColor ( Color  描画色)

色をまとめて変更する、透明度も含む.

double SDX::IModel::GetZoomX ( )

横方向の拡大率を取得.

double SDX::IModel::GetZoomY ( )

縦方向の拡大率を取得.

double SDX::IModel::GetX ( ) const

X座標を取得.

double SDX::IModel::GetY ( ) const

Y座標を取得.

bool SDX::IModel::Hit ( IModel 判定を行うModel)

Modelとの衝突判定.

bool SDX::IModel::Hit ( IShape 判定を行うShape)

Shapeとの衝突判定.

bool SDX::IModel::Hit ( Camera 座標変換に使うCamera = nullptr)

マウスカーソルとの衝突判定.

template<class T >
double SDX::IModel::GetDirect ( T *  比較対象)

対象との角度を取得.

template<class T >
double SDX::IModel::GetDistance ( T *  比較対象)

対象との相対座標を取得.