第4章
生命を吹き込む:テキストとスプライトの表示
1 ディスプレイリスト:HaxeFlixelの描画の仕組み
🎨 重要な概念:ディスプレイリスト
具体的なコーディングに入る前に、HaxeFlixelがどのようにオブジェクトを描画するのか、その基本的な概念を理解しておく必要があります。
FlxState = コンテナ
FlxStateは、描画されるオブジェクトのコンテナ(入れ物)として機能します。ゲームの各画面(タイトル、プレイ、ゲームオーバーなど)を管理します。
add() = 生命を吹き込む
スプライトやテキストは、生成されただけでは画面に表示されません。add()メソッドでディスプレイリストに追加することで、初めて描画されます。
💡 描画フロー
2 「Hello, World!」:FlxTextによるテキスト表示
最初のオブジェクトとして、テキストを画面に表示してみましょう。source/PlayState.hx
ファイルを編集します。
1 クラスのインポート
FlxTextクラスを使用するために、ファイルの先頭(package;
の直後)にimport文を追加します:
2 オブジェクトの生成と設定
create()
メソッドの内部(super.create();
の後)に、テキストオブジェクトを生成し、設定するコードを記述します:
🔍 FlxTextコンストラクタ引数の説明
3 最初のキャラクター:FlxSpriteによるスプライト表示
次に、外部の画像ファイルを読み込んで、スプライトとして表示します。これにはアセットの準備、プロジェクトファイルへの登録、そしてコードの記述という3つのステップが必要です。
1 アセットの準備
表示したいキャラクターの画像を用意します:
- 任意のペイントソフトで、16x16ピクセルの簡単なキャラクターを描く
-
character.png
という名前で保存 -
プロジェクトフォルダ内に
assets/images/
ディレクトリを作成 -
character.png
をその中に配置
📁 ディレクトリ構造
2 アセットパスの登録
エンジンに新しいアセットの場所を教えるため、Project.xml
ファイルを編集します。<project>
タグの内部に、以下の行を追加:
⚠️ 重要: このステップを忘れると、コードから画像を読み込むことができません。
3 PlayState.hxでのコード記述
PlayState.hxを再度編集し、スプライトを読み込んで表示するコードを追加します:
🎨 FlxSpriteの基本的な使い方
4 完成したPlayState.hxとゲームの実行
📝 完成したコード
🚀 ゲームの実行
📱 VSCodeから実行
⌨️ コマンドラインから実行
期待される結果
成功すれば、以下が表示されたウィンドウが現れるはずです:
- 中央に「Hello, HaxeFlixel!」というテキスト
- その下にキャラクターのスプライト
- 640x480ピクセルのゲームウィンドウ
第4章のまとめ
これは、HaxeFlixel開発における最初の、しかし最も重要な一歩です。アセットの配置から、プロジェクトの設定、そしてコードによる制御という一連の流れを体験することで、今後のより複雑なゲーム開発に向けた強固な基礎が築かれます。
🎯 学んだこと
おめでとうございます!
HaxeFlixelでの最初のゲーム作成を完了しました。
これで、クロスプラットフォーム2Dゲーム開発の基礎を習得できました。
次のステップ
- • プレイヤーの入力処理
- • アニメーション
- • 衝突判定
- • サウンド実装
発展課題
- • 複数のスプライト表示
- • テキストカラーの変更
- • 異なるターゲット出力
- • カスタムフォント使用