表示するサンプルコードの言語を指定できます。

オブジェクト2D (Object2D)

概要

ゲーム上で動作する2Dの描画オブジェクトを定義します。

このクラスを継承して独自のパラメータを追加したり、イベントに独自のイベントを設定したりすることで、独自の描画オブジェクトクラスを作成出来ます。主にゲーム上で表示するプレイヤー、敵キャラならびにステージ上で動くオブジェクトを定義するのに使用します。

オブジェクト2Dクラスを継承して各々の用途に特化したクラスも用意されております。(リファレンストップの2D項目参照)

このオブジェクトをゲーム上で動かすには、シーンに登録されたレイヤーに登録する必要があります。

変形

オブジェクトは位置、回転、拡大といった変形に関する情報を持っています。これらの値を変更することで、描画される画像等が変形します。例えば、キャラクターが移動したら位置の値を変更し、キャラクターが巨大化したら拡大の値を変更することで容易にキャラクターの見た目の変形を表現できます。

親子関係

オブジェクトは親子関係を持つことをできます。子になったオブジェクトは親オブジェクトの変形の影響を受けます。例えば親オブジェクトが移動したら同じように子オブジェクトも移動します。親オブジェクトが回転したら、子オブジェクトも親オブジェクトを中心に回転します。親子関係を使用すると、例えばキャラクターの周りを動くサポートメカ等を容易に表現できます。(親子関係機能参照)

追加描画

オブジェクト2Dの通常の描画機能では実現しにくい描画のために、オブジェクト2Dには直接画像を描画する機能を持っています。DrawSpriteAdditionallyという関数で描画はできますが、この描画はOnDrawSpriteAdditionallyというイベント内部でのみ 有効です。それ以外の場所で実行した場合の挙動は未定義です。

追加描画ではスプライト、長方形、円形等を描画できます。

専用のシェーダーを用いて複雑な描画もできます。そのシェーダーとしてマテリアル2Dを使用できます。

主なメソッド

システム系

名称 説明
AddChild 指定した2Dオブジェクトをこのオブジェクトの子オブジェクトとしてこのインスタンスに追加します。
RemoveChild 指定した子オブジェクトをこのインスタンスから削除します。
Dispose このオブジェクトを破棄(消去)します。

これらの操作は、実際にはメソッドを呼び出したフレームの最後に処理されるのでご注意ください。

主なプロパティ

システム系

名称 説明
IsUpdated このオブジェクトが更新されるか否か。
IsDrawn このオブジェクトが描画されるか否か。
IsAlive このオブジェクトが破棄されておらず、レイヤーに登録されていれば更新等のイベントが実行されるか。
Layer このオブジェクトが登録されているレイヤー。

変形系

名称 説明
Position このオブジェクトの親に対する相対的な位置
GlobalPosition このオブジェクトの親の変形の影響を考慮した絶対的な位置
Angle このオブジェクトの親に対する相対的な回転角度
Scale このオブジェクトの親に対する相対的な拡大率

主なイベント

名称 説明
OnAdded オブジェクトがレイヤーに登録された時に発生するイベント
OnRemoved オブジェクトがレイヤーから登録解除された時に発生するイベント
OnDispose オブジェクトが破棄される時に発生するイベント
OnUpdate 毎フレーム実行される更新イベント
OnDrawAdditionally 追加描画を実行する必要がある時に発生するイベント

衝突判定系

オブジェクトにコライダを追加することによって同一のレイヤー上にある別のオブジェクトとの衝突判定を行うことが出来ます。 コライダについてはコライダのページをご覧ください。

主なメソッド

名称 説明
AddCollider 指定した2Dコライダをこのオブジェクトのインスタンスのコライダとして追加します。
RemoveCollider 指定した2Dコライダをこのオブジェクトのインスタンスから削除します。

主なイベント

名称 説明
OnCollisionEnter このオブジェクトに属するコライダが別のオブジェクトのコライダとの衝突を開始した時に呼び出されるイベント
OnCollisionStay このオブジェクトに属するコライダが別のオブジェクトのコライダとの衝突を継続している時に呼び出されるイベント
OnCollisionExit このオブジェクトに属するコライダが別のオブジェクトのコライダとの衝突を終了した時に呼び出されるイベント

使用方法

ほぼ全てのサンプルで使用されています。 ここではTextureObject2Dクラスのサンプルを例として提示します。

SS