この記事では、Phaser.jsを使って初心者でも簡単に楽しいゲームを作れるよう、ステップごとに分かりやすく解説していきます。最終的に、このシリーズを通して「ぱくぱくフルーツ」という、画面に現れる果物をタップして消していくシンプルなゲームを完成させることができます。「ぱくぱくフルーツ」は、クリックやタッチで果物を消すと、次の果物が出現して繰り返し遊べるような仕組みや、インタラクティブな要素やアニメーションを取り入れたゲームです。
こんにちは!前回の記事で、ゲーム開発の準備と基本的なフォルダ構成について学びました。
前回の記事▽
今回は、いよいよPhaser.jsを使って、実際にゲームを作っていきます。ここでは、index.html
にコードを書いて、Phaser.jsを導入し、ゲームの基本的な設定や簡単なオブジェクトの表示方法を説明します。それでは、さっそく始めましょう!
Phaser.jsの導入
まずは、index.html
にPhaser.jsを読み込むコードを書き加えます。Phaser.jsは、Web上で2Dゲームを作成するためのライブラリで、多くの便利な機能が揃っています。
Phaser.jsを使うメリットはこちらに書いています▽
Phaser.jsを読み込む
index.html
ファイルに、以下のようなコードを追加します。このコードは、Phaser.jsのライブラリを外部から読み込むためのものです。
<script src="https://cdn.jsdelivr.net/npm/phaser@3/dist/phaser.js"></script>
全体のコードはこちらです▽
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My First Game</title>
<style>
body {
margin: 0;
background-color: #add8e6;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
overflow: hidden;
}
</style>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/phaser@3/dist/phaser.js"></script>
<script>
// ゲームのコードはここに書きます
</script>
</body>
</html>
これにより、Phaser.jsを使用してゲームを作成するための準備が整います。
ゲームの初期設定
次に、ゲームの基本設定を行います。ゲームの設定には、キャンバスのサイズや背景色、シーン(ゲームの各段階を管理する部分)の設定などがあります。これらをindex.html
の<script>
タグ内に記述していきましょう。
キャンバスの設定
Phaser.jsでは、ゲームを表示する領域をキャンバスと呼びます。以下のコードを追加して、キャンバスのサイズや背景色などを設定します。
<script>
const config = {
type: Phaser.AUTO, // Phaserが最適なレンダリング方法を選択
width: 800, // キャンバスの幅
height: 600, // キャンバスの高さ
backgroundColor: '#add8e6', // 背景色
scene: {
preload: preload,
create: create
}
};
const game = new Phaser.Game(config);
</script>
このconfig
オブジェクトで、キャンバスのサイズや背景色を指定します。また、ゲームの初期化と描画を行うために、preload
とcreate
という2つの関数を設定します。
簡単なオブジェクトの表示
それでは、実際に画面にオブジェクトを表示してみましょう。今回は、Phaser.jsの基本機能を使って、簡単なテキストを画面中央に表示します。
オブジェクトの表示
まず、preload
関数とcreate
関数を以下のように記述します。
<script>
function preload() {
// ここにリソースの読み込みコードを書きます
}
function create() {
// テキストオブジェクトの表示
this.add.text(400, 300, 'Hello Phaser!', { fontSize: '32px', fill: '#ffffff' }).setOrigin(0.5, 0.5);
}
</script>
preload
関数: ここでは、画像や音声などのリソースを読み込むことができますが、今回は特に何も読み込む必要がないので空にしておきます。create
関数: ここでゲームオブジェクトを生成します。上記のコードでは、画面中央に「Hello Phaser!」というテキストを表示しています。setOrigin(0.5, 0.5)
は、テキストの基準位置を中央に設定するためのものです。
ここまでの全体のコードはこちらです▽
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My First Game</title>
<style>
body {
margin: 0;
background-color: #add8e6;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
overflow: hidden;
}
</style>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/phaser@3/dist/phaser.js"></script>
<script>
const config = {
type: Phaser.AUTO, // Phaserが最適なレンダリング方法を選択
width: 800, // キャンバスの幅
height: 600, // キャンバスの高さ
backgroundColor: '#add8e6', // 背景色
scene: {
preload: preload,
create: create
}
};
const game = new Phaser.Game(config);
function preload() {
// ここにリソースの読み込みコードを書きます
}s
function create() {
// テキストオブジェクトの表示
this.add.text(400, 300, 'Hello Phaser!', { fontSize: '32px', fill: '#ffffff' }).setOrigin(0.5, 0.5);
}
</script>
</body>
</html>
動作確認
最後に、コードが正しく動作するかどうかをブラウザで確認しましょう。Live Serverが起動していれば、ブラウザをリロードするだけで、画面に水色の背景と「Hello Phaser!」というテキストが表示されるはずです。
確認ポイント
- 背景が水色であること。
- 画面中央に白い文字で「Hello Phaser!」と表示されていること。
これで、Phaser.jsを使ったゲーム開発の第一歩が完了です!
次回は、もっと複雑なオブジェクトを追加したり、簡単なアニメーションを実装して、ゲームに動きをつけていきます。引き続き、一緒にゲームを作り上げていきましょう!
次の記事▽