クラス Camera2D

2Dビューの設定とナビゲーション。 行列のスタックとルーラーと軸の描画には GraphicsContextAlphaDrawHelpers をお使いください。 [詳細]

Camera2Dに対する継承グラフ
ICamera

すべてのメンバ一覧

Public メソッド

 Camera2D (GraphicsContextAlpha gl, DrawHelpers draw_helpers)
 コンストラクタ。
void SetViewX (Vector2 support, Vector2 center)
 ビューの中心と、スケールと回転を決定するXサポートベクトルを指定することにより、2Dビューを定義します。
void SetViewY (Vector2 support, Vector2 center)
 ビューの中心と、スケールと回転を決定するYサポートベクトルを指定することにより、2Dビューを定義します。 Yサポートベクトルは、ビューのワールド座標系で表現される、画面の中心からスクリーンの上端の中央に向かうベクトルです。
void SetViewFromWidthAndCenter (float width, Vector2 center)
 ビューの中心 ( スクリーンの中心であるワールド座標系の点 ) とスクリーンの幅を指定することにより、2Dビューを定義します。 このメソッドは、SetViewX( new Vector2(width*0.5f,0.0f), center ) を行うのと同じです。
void SetViewFromHeightAndCenter (float height, Vector2 center)
 ビューの中心 ( スクリーンの中心であるワールド座標系の点 ) とスクリーンの幅を指定することにより、2Dビューを決定します。 このメソッドは、SetViewY( new Vector2(0.0f,height*0.5f), center )を行うのと同じです。
void SetViewFromHeightAndBottomLeft (float height, Vector2 bottom_left)
 スクリーンの左下のワールド座標と、スクリーンの高さを指定することにより、2Dビューを定義します。
void SetViewFromWidthAndBottomLeft (float width, Vector2 bottom_left)
 スクリーンの左下のワールド座標系と、スクリーンの幅を指定することにより、2Dビューを定義します。
void SetViewFromViewport ()
 ピクセルの座標系で、ビューポートに相当する2Dビューを作成します。 左下が (0,0)、右上がスクリーンのサイズになります。
void SetAspectFromViewport ()
 アスペクト比を更新するため、現在のビューポートを読みます。
Vector2 X ()
 スクリーン中央、画面右端の中央に位置する、ワールドベクトル。 アスペクト比が反映されています。
Vector2 Y ()
 スクリーン中央、画面上端の中央に位置する、ワールドベクトル。 アスペクト比が反映されています。3d LookAtを使った場合、これはupベクトルの方向にもなります。
Bounds2 CalcBounds ()
 スクリーン上でワールドの視界部分の境界(ワールド座標系で)を計算します。 これは、スクリーンのカリング(例えばDrawRulersで使用されます)に使用することができます。 回転がない場合、境界はスクリーンに正確に一致します。
Matrix4 GetTransform ()
 Matrix4として、カメラ変換行列 ( 正規直交位置行列 ) を計算します。 GetTransform.InverseOrthonormal()はビュー行列スタックにプッシュします。
Matrix3 NormalizedToWorldMatrix ()
 Matrix3として、正規化したワールド行列を返します。
Vector2 NormalizedToWorld (Vector2 bottom_left_minus_1_minus_1_top_left_1_1_normalized_screen_pos)
 正規化されたスクリーン座標系(-1 - > 1)の点として与えられた、ワールド位置を返します。
Vector2 GetTouchPos (int nth=0, bool prev=false)
 ワールド座標系で引数 nth のタッチ位置を返します。 prev フラグは内部的に使用されます。
void Navigate (int control)
 デバッグ用のナビゲーション : タッチインターフェースのドラッグ/ズームに使用します。
void Push ()
 行列スタック上のすべての必要な行列をプッシュします。
void Pop ()
 行列スタックからすべてのカメラ行列をポップします。
void DebugDraw (float step)
 座標系の矢印とともに、ルーラーの間隔 1、灰色のグリッドと黒の軸でデフォルトのグリッドを描画します。 DebugDraw()は内部的にプッシュ()/ポップ()を呼び出さないことに注意してください。カメラのPush()/Pop()は、開発者が呼び出してください。
float GetPixelSize ()
 現在のビューポートのサイズに基づいて、ワールド座標における"スクリーンピクセル"のサイズを取得します。 例えば、スプライトやフォントを1:1で描画するために必要なスケールファクターを決定するために使用することができます。
void SetTouchPlaneMatrix (Matrix4 mat)
 GetTouchPos()によって使用される、3次元平面の向きを設定します。3次元のみ対応しています。

プロパティ

Vector2 Center [get, set]
 スクリーン中央に位置するワールド位置。
float Aspect [get, set]
 幅/高さ のアスペクト比。
float Znear [get, set]
 プロジェクションのnear Z値。
float Zfar [get, set]
 プロジェクションのfar Z値。

説明

2Dビューの設定とナビゲーション。 行列のスタックとルーラーと軸の描画には GraphicsContextAlphaDrawHelpers をお使いください。


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

Camera2D ( GraphicsContextAlpha  gl,
DrawHelpers  draw_helpers 
)

コンストラクタ。

引数:
gl行列スタックに必要な参照。
draw_helpersデバッグ描画に必要な参照。

メソッド

void SetViewFromHeightAndCenter ( float  height,
Vector2  center 
)

ビューの中心 ( スクリーンの中心であるワールド座標系の点 ) とスクリーンの幅を指定することにより、2Dビューを決定します。 このメソッドは、SetViewY( new Vector2(0.0f,height*0.5f), center )を行うのと同じです。

このメソッドの呼び出しだけで、カメラを定義することができます。 SetViewFromHeightAndCenter(幅は自動的にアスペクト比から推定されます)必要はありません。

void SetViewFromWidthAndCenter ( float  width,
Vector2  center 
)

ビューの中心 ( スクリーンの中心であるワールド座標系の点 ) とスクリーンの幅を指定することにより、2Dビューを定義します。 このメソッドは、SetViewX( new Vector2(width*0.5f,0.0f), center ) を行うのと同じです。

このメソッドの呼び出しだけで、カメラを定義することができます。 SetViewFromHeightAndCenter(幅は自動的にアスペクト比から推定されます)は必要はありません。