SDXFrameWork  0.04
SDXFrameWork
 全て クラス ネームスペース 関数 変数 ページ
構成 | Public メソッド | Public 変数 | すべてのメンバ一覧
クラス SDX::ModelMove

Modelの移動を行うクラス. [詳細]

#include <ModelMove.h>

SDX::Objectに継承されています。

構成

struct  円軌道状態
 
struct  振動状態
 

Public メソッド

 ModelMove (Model *移動対象)
 
void 前進 (double 速度)
 Modelの向きに移動. [詳細]
 
void 直進 (double 速度, double 角度)
 角度を指定して移動. [詳細]
 
void 跳ね返り (double 速度, double &角度, Rect &移動範囲)
 範囲外に出ると反転する. [詳細]
 
bool 指定移動 (double 速度, double 目標X, double 目標Y)
 目標座標まで移動. [詳細]
 
void 円軌道 (double 角速度, 円軌道状態 &状態, double 半径X, double 半径Y)
 円周上を移動. [詳細]
 
void 振動 (振動状態 &状態, double X振幅, double Y振幅)
 範囲内でランダムに移動. [詳細]
 

Public 変数

Modelmodel
 

説明

Modelの移動を行うクラス.

//初期化を行い何かキーを押すと終了する
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で終了
}
return true;
}

関数

void SDX::ModelMove::前進 ( double  速度)

Modelの向きに移動.

void SDX::ModelMove::直進 ( double  速度,
double  角度 
)

角度を指定して移動.

void SDX::ModelMove::跳ね返り ( double  速度,
double &  角度,
Rect 移動範囲 
)

範囲外に出ると反転する.

bool SDX::ModelMove::指定移動 ( double  速度,
double  目標X,
double  目標Y 
)

目標座標まで移動.

void SDX::ModelMove::円軌道 ( double  角速度,
円軌道状態 状態,
double  半径X,
double  半径Y 
)

円周上を移動.

void SDX::ModelMove::振動 ( 振動状態 状態,
double  X振幅,
double  Y振幅 
)

範囲内でランダムに移動.