SDXFrameWork 0.07 SDXFrameWork

- メインページ
- 関連ページ
- クラス

- 構成
- クラス階層
- 構成メンバ

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

2D用に座標変換を行うカメラを表すクラス. [詳細]

`#include <Camera.h>`

## Public メソッド
| Camera (double 座標X, double 座標Y, double 拡大率)
| カメラの作成. [詳細]
void | SetActive ()
| カメラをアクティブにする. [詳細]
void | SetCenter (double X座標, double Y座標)
| カメラの焦点を設定. [詳細]
double | GetCenterX ()
| 焦点のX座標を取得. [詳細]
double | GetCenterY ()
| 焦点のY座標を取得. [詳細]
void | Set (double X座標, double Y座標, double 拡大率)
| 位置と倍率を設定. [詳細]
void | MoveForcus (double X座標, double Y座標)
| 移動目標座標を相対移動. [詳細]
void | SetForcus (double X座標, double Y座標)
| 移動目標座標を設定. [詳細]
void | SetZoomForcus (double 拡大率)
| 拡大目標をセット. [詳細]
void | SetSpeed (double 追跡速度)
| 追跡速度を設定. [詳細]
void | SetZoomSpeed (double 拡大速度)
| 拡大応答速度を設定. [詳細]
double | GetZoom ()
| 拡大率を取得. [詳細]
void | SetChaseType (ChaseType 追跡タイプ)
| 追跡方法を設定. [詳細]
void | Update ()
| 追跡方法や速度に応じてカメラ位置の更新. [詳細]
double | TransX (double X座標変換前)
| カメラの位置と拡大率に応じてX座標を変換. [詳細]
double | TransY (double Y座標変換前)
| カメラの位置と拡大率に応じてY座標を変換. [詳細]

## Static Public メソッド
static Camera * | Now ()
| アクティブなカメラを取得. [詳細]

## 説明

2D用に座標変換を行うカメラを表すクラス.

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

## コンストラクタとデストラクタ

SDX::Camera::Camera | ( | double | 座標X,
|  | double | 座標Y,
|  | double | 拡大率
| ) |  |

カメラの作成.

初期座標と拡大率を指定してカメラを初期化

## 関数

static Camera* SDX::Camera::Now | ( |  | ) |
| static

アクティブなカメラを取得.

void SDX::Camera::SetActive | ( |  | ) |

カメラをアクティブにする.

同時にアクティブになるCameraは１つだけです

void SDX::Camera::SetCenter | ( | double | X座標,
|  | double | Y座標
| ) |  |

カメラの焦点を設定.

double SDX::Camera::GetCenterX | ( |  | ) |

焦点のX座標を取得.

double SDX::Camera::GetCenterY | ( |  | ) |

焦点のY座標を取得.

void SDX::Camera::Set | ( | double | X座標,
|  | double | Y座標,
|  | double | 拡大率
| ) |  |

位置と倍率を設定.

void SDX::Camera::MoveForcus | ( | double | X座標,
|  | double | Y座標
| ) |  |

移動目標座標を相対移動.

void SDX::Camera::SetForcus | ( | double | X座標,
|  | double | Y座標
| ) |  |

移動目標座標を設定.

void SDX::Camera::SetZoomForcus | ( | double | 拡大率 | ) |

拡大目標をセット.

void SDX::Camera::SetSpeed | ( | double | 追跡速度 | ) |

追跡速度を設定.

void SDX::Camera::SetZoomSpeed | ( | double | 拡大速度 | ) |

拡大応答速度を設定.

double SDX::Camera::GetZoom | ( |  | ) |

拡大率を取得.

void SDX::Camera::SetChaseType | ( | ChaseType | 追跡タイプ | ) |

追跡方法を設定.

void SDX::Camera::Update | ( |  | ) |

追跡方法や速度に応じてカメラ位置の更新.

double SDX::Camera::TransX | ( | double | X座標変換前 | ) |

カメラの位置と拡大率に応じてX座標を変換.

double SDX::Camera::TransY | ( | double | Y座標変換前 | ) |

カメラの位置と拡大率に応じてY座標を変換.