カスタム・コンポーネント
はじめに
カスタムコンポーネントは、視覚的な外観、物理的なプロパティ、入力処理、またはカスタムゲームロジックを定義します。カスタムコンポーネントの作成
カスタムコンポーネントを作成するには、以下の手順に従います:
- ファイルブラウザでプラスボタン(+)をクリックする。
- 新規ファイル」→「新規コンポーネントファイル」をクリックし、名前を付ける(拡張子は任意)。
- 新しいComponentファイルが生成され、デフォルトではプロジェクト内にTypeScriptが生成される。
- 新しいComponentファイルには、カスタムComponentの登録に必要な定型コードが含まれます。
カスタムコンポーネントの登録
次のコードは、新しく作成されたカスタムコンポーネントがコードエディターに表示される例です:
例
危険
コンポーネント名の接頭辞として「debug-」を使用するのは避けること。 debug-'で始まるコンポーネント名は、内部デバッグのために予約されており、**あなたのコードで使用すると正しく機能しません。
// これはComponentファイルです。このファイルを使用して、プロジェクトのカスタムComponentを定義することができます。
//
import * as ecs from '@8thwall/ecs' // これがecsライブラリにアクセスする方法です。
ecs.registerComponent({
name: 'custom-component',
schema: {
// Component上で設定可能なデータを追加します。
},
schemaDefaults: {
// スキーマフィールドのデフォルトを追加する。
},
data: {
// Componentの外部で設定できないデータを追加します。
},
add: (world, component) => {
// Componentがワールドに追加されたときに実行されます。
},
tick: (world, component) => {
// 毎フレーム実行。
},
remove: (world, component) => {
// Componentが世界から削除されたときに実行されます。
},
})