SDXFrameWork 0.09 SDXFrameWork

- Main Page
- Related Pages
- Classes

- Class List
- Class Hierarchy
- Class Members

All Classes Namespaces Functions Variables Enumerations Enumerator Pages
Public Member Functions | Static Public Member Functions | List of all members
SDX::Camera Class Reference

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

`#include <Camera.h>`

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

## Static Public Member Functions
static Camera * | Now ()
| アクティブなカメラを取得. More...

## Detailed Description

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;
}

## Constructor & Destructor Documentation

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

カメラの作成.

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

## Member Function Documentation

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座標を変換.