ロジックの中心は GameExecutorクラス となる。engine/executor.ts
にて実装される。
HTML/Canvas環境におけるビルトインの機能を抽象化し、各コンポーネントに分配する。
- シーンを管理する
- ゲーム内で用いられるコンポーネントを管理する
- コンポーネントのインスタンスや、それらが有効になるシーンは
engine/componentTimeline.ts
で定義される - このtsファイルの内容が、ゲームロジックの全体像となる
- コンポーネントのインスタンスや、それらが有効になるシーンは
- 毎フレームごとに、各コンポーネントで定義された描画関数を呼び出し、画面を更新する
- 入力イベント(画面のタッチなど)に応じて、対象となるコンポーネントのハンドラを呼び出す
各コンポーネントは Componentインターフェイス を満たす独立したクラスとして定義する。
インターフェイスはengine/component/component.ts
にて定義される。
- 描画関数
draw()
の定義 - タッチ判定の有効な範囲
bound
の定義 - 入力イベントをハンドルする
onTouchStart()
等の定義 - シーン変化をハンドルする
onSceneChanged()
等の定義
実装したコンポーネントはengine/component/
配下にまとめられる。