表示するサンプルコードの言語を指定できます。
オブジェクト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クラスのサンプルを例として提示します。