SDXFrameWork  0.04
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 CameraNow ()
 アクティブなカメラを取得. [詳細]
 

説明

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で終了
}
return true;
}

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

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

追跡方法

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

関数

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

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

void SDX::Camera::SetActive ( )

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

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

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