ノードは全てのシーングラフノードの基底クラスです。標準的な2D変換行列、子のリスト、親へのハンドラを持ちます。ノードは多くとも1つの親をもつことができます。 [詳細]
Public メソッド | |
void | Rotate (float angle) |
引数 'angle' でオブジェクトを回転します。 この関数は単に Rotation / Angle プロパティに影響を与えることに注意してください。( Pivot や Positionに関わらず、角度をインクリメントします。それらのすべては GetTransform() で結合されます。) 変換行列の構築の詳細は、GetTransform() を参考にしてください。 | |
void | Rotate (Vector2 rotation) |
単位ベクトル 'rotation' として渡される角度でオブジェクトを回転します。 これで、回転中に必要な cos,sinを事前に計算できます。 この関数は Rotation/Angle プロパティに影響を与えることに注意してください。( Pivot や Positionに関わらず、角度をインクリメントします。それらのすべては GetTransform() で結合されます。) 変換行列の構築の詳細は、GetTransform() を参考にしてください。 | |
delegate void | DDraw () |
AdHocDraw で使用されるデリゲート型。 | |
Node () | |
コンストラクタ。 | |
virtual void | PushTransform () |
ノードとその子を描画する前にこの関数が呼び出されます。 | |
virtual void | PopTransform () |
ノードとその子が描画されたあとにこの関数が呼び出されます。 | |
virtual void | OnEnter () |
シーンが Director.Instance によって開始されたとき、この関数が呼び出されます。 | |
delegate void | DOnExitEvent () |
OnExit() イベントのデリゲート。 | |
virtual void | OnExit () |
シーンを終了したり、子が RemoveChild() や RemoveAllChildren() で明示的に削除されたとき、この関数が呼び出されます。 | |
void | RegisterDisposeOnExitRecursive () |
すべてのサブツリー(このノードを含む)を再帰し、すべての破棄可能なオブジェクトに Dispose() 関数を登録します。 実行しているオブジェクトが Dispose() してないことを最初に確認し、Cleanupを呼び出します。 | |
void | RegisterDisposeOnExit (System.IDisposable disposable) |
このノードの OnExit()関数内に、Dispose() の呼び出しを登録します。 例えば、いくつかのオブジェクト(TextureInfo, FontMap, など)で Dispose() を行いたいときや、 Scene ノードを終了するときです。 | |
void | AddChild (Node child, int order) |
子に描画プロパティを追加します。 | |
void | AddChild (Node child) |
現在の順序を使って、このノードに子を追加します。 | |
void | RemoveChild (Node child, bool do_cleanup) |
このノードから子を削除します。 | |
void | RemoveAllChildren (bool do_cleanup) |
この関数は、全ての子に対して、RemoveChild( dispose_flags )を呼び出すのと、等価です。 | |
delegate bool | DVisitor (Node node, int depth) |
巡回メソッドに渡す関数の型。 | |
virtual void | Traverse (DVisitor visitor, int depth) |
このノードの引数 'visitor'関数を呼び出し、かつこのノードの全ての子を再帰的に呼び出します。 visitor が false を返した場合、巡回を中断します。 | |
virtual void | DrawHierarchy () |
この関数は、 Director によってのみ呼び出されます。しかし、PushTransform, Draw, PopTransform は上書きすることができます。 | |
virtual void | Draw () |
PushTransform / PopTransform 内の描画を実行します。 | |
virtual void | Update (float dt) |
Update 関数。 Director は1フレームあたりと経過時間あたりで、この関数を何度呼び出すか決定します。 現時点では、Update 関数は、フレーム経過時間をそのまま使って、一度呼び出されています。 | |
virtual void | DebugDrawContentLocalBounds () |
ノードのローカル空間内に、ローカルコンテントの境界と中心軸を描画します。 普通は、この関数を上書きする必要はありません。 GetlContentLocalBounds()を上書きし、例えば DebugFlags.DrawContentLocalBounds が設定されたとき、この関数はそれを表示します。 | |
void | DebugDrawTransform () |
親ノードのローカル空間内での、ローカル座標系を描画します。 | |
void | RunAction (ActionBase action) |
このノードのアクションを開始します。 | |
void | StopAllActions () |
このノードの全てのアクションを停止します。 | |
void | StopAction (ActionBase action) |
このノードのアクションを停止します。 | |
void | StopActionByTag (int tag) |
tag の値で、このノード内で実行している最初のアクションを検索し、停止/削除します。 | |
ActionBase | GetActionByTag (int tag, int ith=0) |
このノード内で、実行している 'tag' の 'ith' アクションを返します。 | |
int | NumRunningActions () |
このノード内で、実行しているアクションの数を取得します。 | |
virtual void | Cleanup () |
このノード内の、全てのアクションとスケジュールされた関数を再帰的に停止します。 | |
void | ScheduleUpdate (int priority=Scheduler.DefaultPriority) |
スケジューラにこのノードのUpdate関数を登録します。update関数は全てのフレームで呼び出されます。 | |
void | UnscheduleUpdate () |
スケジューラからUpdate関数を削除します。 | |
void | Schedule (DSchedulerFunc func, int priority=Scheduler.DefaultPriority) |
引数のノード関数 'func' をスケジュールします。関数は全てのフレームで呼び出されます。 | |
void | ScheduleInterval (DSchedulerFunc func, float interval, int priority=Scheduler.DefaultPriority) |
引数のノード関数 'func' を、引数 'interval'の間隔で呼び出されるようにスケジュールします。 | |
void | Unschedule (DSchedulerFunc func) |
引数のノード関数 'func'をアンスケジュールします。 | |
void | UnscheduleAll () |
このノードに関連する全ての関数をアンスケジュールします。 | |
void | ResumeSchedulerAndActions () |
SchedulerPaused と ActionsPaused に true をセットします。 | |
void | PauseSchedulerAndActions () |
SchedulerPaused と ActionsPaused に false をセットします、。 | |
Matrix3 | GetTransform () |
親空間で表現される、このノードの変換行列を返します。 | |
Matrix3 | GetTransformInverse () |
このノードの変換行列の逆行列を取得します。 | |
Matrix3 | GetWorldTransform () |
ワールド/親 シーン空間で表される、このノードの変換行列を返します。 | |
Matrix3 | CalcWorldTransformInverse () |
このノードのワールド変換行列の逆行列を取得します。 | |
Vector2 | LocalToWorld (Vector2 local_point) |
LocalToWorld は ( GetWorldTransform() * local_point.Xy1 ).Xy と同じものを返します。 | |
Vector2 | WorldToLocal (Vector2 world_point) |
( CalcWorldTransformInverse() * world_point.Xy1 ).Xy と同じものを返します。 ノードのローカル空間はその幾何情報を定義した空間です。 すなわち、1レベル下の GetWorldTransform() 。 | |
virtual bool | GetlContentLocalBounds (ref Bounds2 bounds) |
ノード空間内(再帰なし)で、このノードのみのコンテント/幾何情報の境界を取得します。 任意のコンテントを持たないノードは単に false を返します。 | |
virtual bool | GetContentWorldBounds (ref Bounds2 bounds) |
ワールド空間(再帰なし)で、このノードのみのコンテントの境界を取得します。 任意のコンテントを持たないノードは単に false を返します。その場合、境界は扱えません。 | |
bool | IsWorldPointInsideContentLocalBounds (Vector2 world_position) |
引数'world_position'が、向きをもったコンテントの境界ボックス内にある場合、trueを返します。 | |
virtual void | FindParentPlane (ref Matrix4 mat) |
Plane3D ノードが見つかるまで、親の階層構造に従い、 Plane3D の平面行列に 'mat' をセットします。 | |
Vector2 | GetTouchPos (int nth=0, bool prev=false) |
Like Director.Instance.CurrentScene.Camera.GetTouchPos に似ていますが、シーングラフ内の祖先に Plane3D が存在したときのケースを扱います。 | |
Public 変数 | |
float | VertexZ |
VectorZ は描画中、Z座標としての値のセットです。デフォルトでは、ortho ビューは Z範囲[-1, 1]を示し、任意で Camera.Znear と Camera.Zfar をセットします。 | |
bool | Visible |
Visible が false の場合、このノードとその子は描画されません。 | |
ICamera | Camera = null |
シーン内には通常ひとつのカメラしか配置されていないことの対応策として、 Node.Camera を使うことができます。 Node.Camera が設定されている場合、このノードまでの全ての変換行列は無視され、Node.Camera は、このノードを描画するたびに、プッシュ/ポップされます。 | |
string | Name |
開発者用の識別子。 | |
Static Public 変数 | |
static float | DebugDrawTransformScale = 1.0f |
矢印を描画する DebugDrawTransform によって使用されるスケール係数。 デフォルトではこの値は1.0fで、矢印の単位の長さは、スクリーン上で長さ1にあたります。 スクリーン上で表示されるゲームの世界では大きすぎるので、長さ1の矢印は、1ピクセル以下であるかもしれず、それらが描画されていても見ることができないかもしれません。 その場合、DebugDrawTransform でそれらをスケールすることができます。 | |
プロパティ | |
Vector2 | Position [get, set] |
変換行列の構築に関しての詳細は、GetTransform() を参考にしてください。 | |
Vector2 | Rotation [get, set] |
Rotation は (cos,sin)の単位ベクトルとして直接格納されます。 | |
Vector2 | RotationNormalize [get, set] |
RotationNormalize は Rotation に似ていますが、正規化を行います。 これにより、蓄積される計算誤差で単位ベクトルがドリフトするのを防ぎます。 変換行列の構築の詳細は、GetTransform() を参考にしてください。 | |
float | Angle [get, set] |
このプロパティを使うと、回転を角度として set/getすることができます。 この処理は重く、角度の不連続の問題を引き起こします。角度は常に格納され、かつ -pi,piの範囲で値を返します。 変換行列の構築の詳細は、GetTransform() を参考にしてください。 | |
Vector2 | Scale [get, set] |
変換行列の構築の詳細は、GetTransform() を参考にしてください。 | |
Vector2 | Skew [get, set] |
変換行列の構築の詳細は、GetTransform() を参考にしてください。 | |
Vector2 | Pivot [get, set] |
Pivot はスケールや回転に使用される中心軸です。そして Node のローカル '正規化' 空間として表現されます。 例えば、スケールに関わりなく、(0.5, 0.5)は常にオブジェクトの中心です。 変換行列の構築の詳細は、GetTransform() を参考にしてください。 | |
Node | Parent [get] |
シーングラフ内の親ノードです。ひとつのノードは、多くともひとつの親ノードの子になります。 | |
List< Node > | Children [get] |
子ノードのリスト。 | |
Camera2D | Camera2D [get] |
Camera2D としてのカメラを取得するためのショートカット。 | |
Camera3D | Camera3D [get] |
Camera3D としてのカメラを取得するためのショートカット。 | |
bool | IsRunning [get] |
このノードが OnEnter()/OnExit() 呼び出しの合間である時、このプロパティは true になります。 | |
int | Order [get] |
ReorderChild() または AddChild() でセットされた描画順序の値。 | |
bool | ActionsPaused [get, set] |
このノードに関連する全てのアクションを、このフラグのon/offで一時停止させることができます。 | |
bool | SchedulerPaused [get, set] |
このノードに関連するスケジュールされた全ての関数を、このフラグのon/offで一時停止させることができます。 | |
イベント | |
DDraw | AdHocDraw |
セットされた場合、baseの描画関数内でAdHocDrawが呼び出されます。 描画関数の定義のためにクラスを派生させずに、シンプルなシーンをセットアップするために使用されます。 | |
DOnExitEvent | OnExitEvents |
OnExit が呼び出された時、実行するイベントのリスト。 実行されたあと、リストはクリアされます。 |
ノードは全てのシーングラフノードの基底クラスです。標準的な2D変換行列、子のリスト、親へのハンドラを持ちます。ノードは多くとも1つの親をもつことができます。
void AddChild | ( | Node | child, |
int | order | ||
) |
子に描画プロパティを追加します。
child | 追加する子ノード。 |
order | 追加するノードの描画プロパティ。描画順序は数値順に行われます。 負の数のプロパティはこの子が親より前に描画されることを意味します。 正の数のプロパティは親より後に描画されます。 |
Matrix3 GetTransform | ( | ) |
親空間で表現される、このノードの変換行列を返します。
ノードの変換行列は、位置、スケール、歪み、回転/角度/ RotationNormalize、ピボットプロパティでアクセスされるデータを用いて形成されます。変換行列は次のものと等価です:
Matrix3.Translation( Position ) Matrix3.Translation( Pivot ) Matrix3.Rotation( Rotation ) Matrix3.Scale( Scale ) Matrix3.Skew( Skew ) Matrix3.Translation( -Pivot )
変換行列で返されるのは、純粋な2D変換であることに注意してください。 VertexZ は PushTransform 関数で別々に適用されます。
void RemoveChild | ( | Node | child, |
bool | do_cleanup | ||
) |
このノードから子を削除します。
child | 削除する子。 |
do_cleanup | 削除するノードで Cleanup を呼び出す。 |
virtual void Update | ( | float | dt | ) | [virtual] |
Vector2 Rotation [get, set] |
Rotation は (cos,sin)の単位ベクトルとして直接格納されます。
変換行列の構築に関しての詳細は、GetTransform() を参考にしてください。