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

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

#include <ModelMove.h>

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

構成

struct  MoveCircleState
 
struct  VibrateState
 

Public メソッド

 ModelMove (Model *移動対象)
 
void MoveFront (double 速度)
 Modelの向きに移動. [詳細]
 
void MoveBound (double 速度, double &角度, Rect &移動範囲)
 範囲外に出ると反転する. [詳細]
 
bool MoveToPoint (double 速度, double 目標X, double 目標Y)
 目標座標まで移動. [詳細]
 
void MoveCircle (double 角速度, MoveCircleState &状態, double 半径X, double 半径Y)
 円周上を移動. [詳細]
 
void Vibrate (VibrateState &状態, 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::MoveFront ( double  速度)

Modelの向きに移動.

void SDX::ModelMove::MoveBound ( double  速度,
double &  角度,
Rect 移動範囲 
)

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

bool SDX::ModelMove::MoveToPoint ( double  速度,
double  目標X,
double  目標Y 
)

目標座標まで移動.

void SDX::ModelMove::MoveCircle ( double  角速度,
MoveCircleState 状態,
double  半径X,
double  半径Y 
)

円周上を移動.

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

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