Appearance
サンプルプログラム
サンプルプログラムの共通構造
a3jsの様々な機能を組み合わせて作った、実際に遊べるゲームの サンプルプログラムです。それぞれ1つのHTMLファイルで完結していて、 <script type="importmap">でCDNからa3jsを読み込んでいます。 自分のゲームを作るときのテンプレートとしても使えます。
3つのサンプルは共通の構造を持っています。
- GameCanvasクラスを 使い、スマホ(ジョイスティックUI)でもPC(キーボード)でも 同じ操作で遊べます。
- スタート画面・メイン画面・ゲームクリア画面・ゲームオーバー画面の 4つのSceneを
replaceScene()で 切り替えます。 - 物理演算(
initPhysics())・3Dフォント(initFont())・ サウンド(initSound())の初期化を最初に行います。サウンドの 初期化と全画面化はalert()のOKボタンをきっかけに実行します。 - 時間のかかる3Dモデルの読み込みは、スタート画面を表示している間に
Promise.all()でまとめて先読みします(heavyInit())。 - ゲーム内に登場する物は
ObjectA3のサブクラスとして定義し、 毎フレームの動きをupdate(dt)に、衝突時の処理をhandleCollision()に書きます。
カーレースサンプルプログラム
物理エンジンでカートを走らせてゴールを目指すゲームです。
TPSのサンプルプログラム
キャラクターを三人称視点で操作して敵と戦うゲームです。
フライトシミュレーターのサンプル
鳥を操縦して空を飛び、敵を撃ち落とすゲームです。