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 変数
Model * | model

## 説明

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で終了
}
System::End();
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振幅
| ) |  |

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