PhaserJS入門
スプライト表示の基本
いよいよゲーム開発開始!画像を表示してみよう
🎮 サンプルビルドの動作確認
実際の動作を見てみよう
この章で作成するサンプルプログラムの動作を確認できます。以下のデモでは、背景画像、プレイヤーキャラクター、敵キャラクターが表示されます。
画面サイズ: 800 × 600 | 背景: 青空 | プレイヤー: 左側 | 敵: 右側
📁 サンプルファイルのダウンロード
サンプルファイルのダウンロード
以下のファイルをダウンロードして、プロジェクト作成手順に従って進めてください。
注意: ダウンロードしたファイルは、プロジェクト作成手順に従って適切に配置してください。
📁 サンプルファイルの確認
🛠️ プロジェクト作成手順
ステップ1: テンプレートのクローン
PhaserJSの公式TypeScriptテンプレートをクローンします。
ステップ2: 既存ファイルの削除
テンプレートの既存ファイルを削除して、ダウンロードしたファイルに置き換えます。
ステップ3: 依存関係のインストール
VSCodeのターミナルから必要なパッケージをインストールします。
ステップ4: 開発サーバーの起動
開発サーバーを起動して、ブラウザで動作を確認します。
✅ ブラウザが自動的に開き、800×600の画面に背景、プレイヤー、敵が表示されます!
💻 プログラム解説
Sceneクラスのライフサイクル
PhaserJSでは、ゲームの各画面を Scene(シーン) として管理します。Sceneクラスには以下のライフサイクルメソッドがあります:
preload()
画像や音声などのアセットを事前に読み込みます。ゲーム開始前に一度だけ実行されます。
create()
スプライトやオブジェクトを作成・配置します。preload完了後に実行されます。
update()
ゲームループ中に毎フレーム実行されます。動的な処理を記述します(次章で詳しく解説)。
PutSprite.ts の解説
今回のメインファイルである
src/game/scenes/PutSprite.ts
を詳しく見ていきましょう。
preload() メソッドの解説
this.load.image() の引数:
- • 第1引数 - ゲーム内での識別キー名
- • 第2引数 - ファイルパス(public/からの相対パス)
- • 例 - 'player' キーで 'assets/player.png' を読み込み
create() メソッドの解説
this.add.image() の引数:
- • 第1引数(x) - X座標位置
- • 第2引数(y) - Y座標位置
- • 第3引数(key) - preloadで設定したキー名
load.image と add.image について
load.image は画像の読み込み、 add.image はスプライトの作成・配置を行います。
load.image
- • 画像ファイルをメモリに読み込み
- • キー名で管理
- • preload()でのみ使用
- • 他のload系メソッドも存在(音声、スプライトシートなど)
add.image
- • 読み込んだ画像をスプライトとして作成
- • 座標指定で配置
- • create()以降で使用
- • 他のadd系メソッドも存在(テキスト、図形など)
🖼️ アセット解説
画像ファイルの配置場所
PhaserJSで使用する画像ファイルは、 public/assets/ フォルダに配置します。これはwebpackの設定で決まっています(詳細は後章で解説)。
put_sprite_demo/ ├── public/ │ ├── assets/ ← 画像ファイルはここに配置 │ │ ├── player.png ← プレイヤーキャラクター │ │ ├── enemy.png ← 敵キャラクター │ │ └── background.png ← 背景画像 │ ├── favicon.png ← ファビコン │ └── style.css ← スタイルシート ├── src/ │ ├── game/ │ │ ├── scenes/ │ │ │ └── PutSprite.ts ← メインのシーンファイル │ │ └── main.ts ← ゲーム設定 │ └── main.ts ← エントリーポイント └── package.json
player.png
プレイヤーキャラクターの画像。座標(300, 300)に配置されます。
enemy.png
敵キャラクターの画像。座標(500, 300)に配置されます。
background.png
背景画像。座標(400, 300)に配置され、画面全体を覆います。
📝 アセット管理のポイント
ファイル配置のルール
- • public/assets/ フォルダに配置
- • ファイル名は英数字、ハイフン、アンダースコア
- • PNG形式推奨(透明度対応)
- • サイズは2の累乗が効率的
コードでの参照方法
- • パスは 'assets/ファイル名'
- • public/ は含めない
- • キー名は自由に設定可能
- • 日本語ファイル名は避ける
スプライト表示の基本まとめ
✅ 学習したこと
- • プロジェクトの作成手順
- • Sceneクラスのライフサイクル
- • preload()での画像読み込み
- • create()でのスプライト配置
- • アセットファイルの管理
重要ポイント
- • preload → create の実行順序
- • キー名でのアセット管理
- • 座標系の理解(左上原点)
- • public/assets/ への配置
- • webpack設定の理解(後章)
基本的なスプライト表示をマスターしました!これで画像を表示する基礎が身につきました。
次章では、これらの知識を活用して 実際のゲーム を作成していきます!