本文へスキップ

コンポーネントのライフサイクル

はじめに

ライフサイクル イベントは、追加、ティック、または削除時にコンポーネントの動作をトリガするために使用できます。

const MyComponent = ecs.registerComponent({
name: 'My Component',
add: (world, component) => {
console.log('My component was added to', component.eid)
},
tick: (world, component) => {
console.log('My tick function is running on', component.eid)
},
remove: (world, component) => {
console.log('My component was removed from', component.eid)
},
})

メソッド

方法説明
追加コンポーネントが初期化されたときに一度だけ呼び出されます。 初期状態の設定と変数のインスタンス化に使用する。
取り除くコンポーネントがエンティティから削除されたとき、またはエンティティがシーンから切り離されたときに呼び出されます。 エンティティに対する以前の変更をすべて取り消すために使用する。
ダニシーンのレンダー・ループまたはティックごとに呼び出される。 継続的な変更やチェックに使用される。

パラメータ

プロパティタイプ概要
world世界世界への言及。
コンポーネントが初期化されたときに一度だけ呼び出されます。ComponentObjectカーソルは、エンティティにアタッチされた別のコンポーネントのスキーマへの参照です。

ComponentObject

警告

タイマーやイベント・ハンドラなどの非同期コンテキストでは、eid、schema、data プロパティの代わりに schemaAttribute または dataAttribute を使用してください。

プロパティタイプ説明
eideid| イード | イード | 現在のコンポーネントのエンティティID。
列挙|現在のエンティティのスキーマへの参照
このような場合は、代わりにschemaAttributeとdataAttributeを使用してください。ComponentObject| スキーマ属性 | ワールド属性 | ワールドスコープにおける現在のコンポーネントのスキーマへの参照。
data|現在のエンティティのデータへの参照
|ComponentObject| データ属性 | ワールド属性 | ワールドスコープにおける現在のコンポーネントのデータへの参照。