BUNCHO GAMES

第3章:設計図

進捗:
3/4

第3章

設計図:最初のプロジェクトの作成と理解

1 Flixel-Toolsによるプロジェクトの生成

開発環境が整ったら、いよいよ最初のプロジェクトを作成します。flixel-toolsを使えば、標準的なプロジェクト構成をコマンド一つで生成できます。

🎯 プロジェクト作成の実行

コマンドラインで、プロジェクトを作成したいディレクトリに移動し、以下のコマンドを実行します:

flixel tpl -n "MyFirstGame" -ide vscode

🔍 コマンドオプションの解説

tpl
template(テンプレート)
標準的な空のプロジェクトテンプレートを使用することを示します
-n
name(プロジェクト名)
プロジェクト名を「MyFirstGame」に設定し、同名のディレクトリを作成します
ide
VSCode用設定ファイル生成
プロジェクトを開いた瞬間からコード補完やビルドタスクが機能するように、.vscodeフォルダと設定ファイル(tasks.jsonなど)を自動生成

2 HaxeFlixelプロジェクトの解剖学:コアファイルの役割

生成されたMyFirstGameフォルダの中身を理解することは、HaxeFlixelのアーキテクチャを把握する上で不可欠です。

📁 プロジェクト構造

MyFirstGame/
├── Project.xml
├── source/
├── Main.hx
└── PlayState.hx
├── assets/
└── .vscode/
└── tasks.json

🏠 ルートディレクトリ

Project.xml - プロジェクトの憲法

このファイルは、プロジェクト全体の構成を定義する中心的な設定ファイルです。コンパイラは、このファイルを読み込んでビルドの方法を決定します。

<app
title="MyFirstGame"
file="MyFirstGame"
main="Main"
/>

アプリケーションのタイトル、出力ファイル名、そしてプログラムのエントリーポイントとなるメインクラスを指定

<source
path="source"
/>

Haxeのソースコード(.hxファイル)が格納されているディレクトリを指定

<haxelib
name="flixel"
/>

プロジェクトが依存するライブラリを宣言。HaxeFlixelライブラリをビルドに含める

<window
width="640"
height="480"
/>

ゲームウィンドウの初期サイズを定義

<assets
path="assets"
/>

画像や音声などのアセットファイルが格納されているディレクトリを指定

📂 sourceディレクトリ

Main.hx - アプリケーションのエントリーポイント

このファイルは、ゲーム全体の「点火スイッチ」に相当します。その主な役割は、FlxGameオブジェクトのインスタンスを生成し、最初にどの「ステート」からゲームを開始するかを指定することです。

addChild(new FlxGame(0, 0, PlayState));

「PlayStateを初期ステートとして新しいゲームを開始せよ」という命令

PlayState.hx - 最初のシーン

FlxStateは、ゲームの独立した画面や場面(例:タイトルメニュー、ゲームプレイ画面、ゲームオーバー画面)を管理するための基本単位です。

create()メソッド
override public function create():Void

このステートが最初に読み込まれた時に一度だけ呼び出される。スプライトやテキスト、UI要素など、そのシーンで必要となるすべてのオブジェクトを生成し、初期設定を行う場所

update()メソッド
override public function update(elapsed:Float):Void

毎フレーム(デフォルトでは1秒間に60回)呼び出され続ける。プレイヤーの移動、入力のチェック、敵のAIなど、ゲームの動的なロジックはすべてここに記述

🎨 assetsディレクトリ

リソースファイルの格納場所

このディレクトリは、コード以外のすべてのファイルを格納するための場所です。画像、音楽、サウンドエフェクト、フォント、レベルデータなどがここに配置されます。

推奨フォルダ構成
assets/
├── images/
├── sounds/
├── music/
└── fonts/

🎯 設計パターンの価値

このファイル構成は、設定(Project.xml)起動処理(Main.hx)ゲームロジック(PlayState.hx)を明確に分離する設計パターンを促進します。この構造を理解することで、開発者はコードを適切な場所に記述し、整理され、拡張性の高いプロジェクトを構築するための強固な基盤を得ることができます。

第3章のまとめ

flixel-toolsによってプロジェクトの基本構造が生成されました。Project.xml、Main.hx、PlayState.hxの役割を理解することで、HaxeFlixelのアーキテクチャの基盤が構築されます。

🎯 次のステップ

第4章では、このプロジェクト構造を活用して、実際にテキストとスプライトを画面に表示し、最初のゲームを動作させます。create()とupdate()の使い方を実践的に学んでいきましょう。

第2章に戻る 第4章へ進む