クラス Node

ノードは全てのシーングラフノードの基底クラスです。標準的な2D変換行列、子のリスト、親へのハンドラを持ちます。ノードは多くとも1つの親をもつことができます。 [詳細]

Nodeに対する継承グラフ
Label Particles Plane3D RawSpriteTileList Scene SpriteBase SpriteList TransitionScene SpriteTile SpriteUV TransitionFadeBase TransitionCrossFade TransitionDirectionalFade TransitionSolidFade

すべてのメンバ一覧

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< NodeChildren [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]

Update 関数。 Director は1フレームあたりと経過時間あたりで、この関数を何度呼び出すか決定します。 現時点では、Update 関数は、フレーム経過時間をそのまま使って、一度呼び出されています。

引数:
dt1秒あたりの経過時間。

Particlesで再定義されています。


プロパティ

Vector2 Rotation [get, set]

Rotation は (cos,sin)の単位ベクトルとして直接格納されます。

変換行列の構築に関しての詳細は、GetTransform() を参考にしてください。