# チュートリアル：「ACTION GAME MAKERをゼロから使う」—第2章

**URL:** <https://guild.rpgmakerofficial.com/t/topic/1092>\
**Category:** チュートリアル\
**Tags:** tutorial, 中文\
**Created:** [2026 年 1 月 13 日午前 6:00 UTC](https://guild.rpgmakerofficial.com/t/topic/1092 "2026-01-13T06:00:43Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:00 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/1 "2026-01-13T06:00:43Z")

</div>

チュートリアル：「ACTION GAME MAKERをゼロから使いこなす」——第2章

## 第2章：簡単なステージを作ってみよう！

### 第2章の目標

ここから、本格的に **アクションシューティングゲーム** の制作に取り掛かります。

本章では、以下の内容をステップバイステップで実現する簡単なステージを作成します：

- **プレイヤーキャラクターが歩行・ジャンプできる** 。

この章を終了すると、以下のような動画の内容を再現できるようになります。

[![](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/3/31c0a4054e2ef45659a403caec005b505c6960f2.jpeg "「0からはじめるACTION GAME MAKER」第二章完成イメージ") ](https://www.youtube.com/watch?v=jH91fQF0QtA)

* * *

### 制作手順

1. まず、 **ステージ自体のためのシーン** を作成します。

2. 次に、このステージ内にキャラクターが歩行・ジャンプできる **プラットフォーム** を配置します。

3. その後、 **キャラクターシーン** を作成し、 **ビジュアルスクリプト（Visual Script）** を使用して、キャラクターの移動などの基本的な動作を追加します。

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:01 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/2 "2026-01-13T06:01:59Z")

</div>

# 「ゲームシーン（Game Scene）」と「ゲームオブジェクト（Game Object）」の学習

第1章では、 **Godotエンジン** に標準で備わっている機能のみを使用してすべての操作を行いました。  
ここから、 **ACTION GAME MAKER** が提供する追加機能を正式に使用してゲームを構築していきます。

Godotエンジンでは、通常、ノードを1つずつルートノードの下に追加して、  
キャラクターやステージなどのさまざまな要素を作成します。  
しかし、この方法は時間がかかることが多いです。

そのため、ACTION GAME MAKERは2つの主要な **プリセットシーンタイプ** を提供し、  
ゲーム制作プロセスをより効率的にします：

- **Game Scene（ゲームシーン）**

- **Game Object（ゲームオブジェクト）**

ACTION GAME MAKERでは、 **Game Object** を **Game Scene** に配置することで、  
段階的にゲーム全体を構築していきます。

* * *

## ACTION GAME MAKERが追加した機能の識別方法

ACTION GAME MAKERが追加した機能 ——  
たとえば **Game Scene** や **Game Object** —— は、  
**青とオレンジの2色を組み合わせたアイコン** で識別されます。

このような2色のアイコンが付いたノードやボタンを見かけた場合、  
それらが **ACTION GAME MAKER専用の機能** であると判断できます。

一方、Godotエンジンの標準ノードは通常 **単色のアイコン**  
（例：白、青、緑など）を使用しますが、  
例外的に複数の色を使用するものもあります。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/a/a6feaed2ee4f6dcc64ff3e93310a99720f57ac85.png)

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:02 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/3 "2026-01-13T06:02:58Z")

</div>

# 「Game Scene（ゲームシーン）」の作成

次に、 **Game Scene（ゲームシーン）** を作成します。

* * *

## 操作手順

1. **Scene（シーン）** タブで、 **「+」（Add New Scene）** ボタンをクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/52c95d882c068ab0e99c2299e679a4695a72df0c.png)

1. 表示される Scene ウィンドウで、 **Create Root Node** から **Game Scene** を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/7/7263f521f403553978ffee5984edeb5419c858c9.png)

1. その後、Scene ウィンドウ内に多数のノードが自動的に生成されます。  
これらが **Game Scene** を構成する **プリセットノード** です。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/c/c252309d516ea59a8ec364d964300c4892ef5fe6.png)

1. これは新規作成したシーンなので、まず保存しましょう。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/56e37fe993483aa5c473ea49abaeccca32b7edaa.png)

1. これはステージ（Stage）シーンなので、 **stage1.tscn** として保存してください。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/8/8ebc4311f2e802ab6fe7c0508299ca017fedb7c7.png)

* * *

## Game Scene の構造

あなたはすでに、突然多くのノードが追加されたことに気づいているでしょう。  
では、それぞれのノードはどのような役割を果たしているのでしょうか？

ACTION GAME MAKER では、 **Game Scene は「レイヤー（Layer）」の概念によって構成されています** 。

**レイヤー（Layer）** は、奥行きを表現するためのもので、劇場のステージ構造に似ています：

- **背景レイヤー（Background Layer）** ：最も奥に位置し、背景のセットを表示します。
- **キャラクターレイヤー（Character Layer）** ：中央に位置し、キャラクターが活動・演技する空間です。
- **前景レイヤー（Foreground Layer）** ：最も手前に位置し、観客に最も近い小道具などを配置します。

「手前のカメラ」から見た場合、  
これらのレイヤーが共同でゲーム内の完全なシーンを構成します。

ACTION GAME MAKER ではデフォルトで **7つのレイヤー** が提供されています。  
それぞれ異なる名前とアイコンを持ち、機能的にも若干の違いがあり、  
下図に示す順序で重ねられています。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/45a726dce1cd31af612e801183810c3ced54a98c.png)

デフォルトでは、各レイヤーには **最低限必要なプリセットノード** が設定されており、  
シーン全体には **シーンを撮影するためのカメラ** も含まれています。

* * *

## 「SceneLayer」ノードと「UI」/「PostEffectLayer」ノードの違い

この7つのレイヤーのアイコンをよく見ると、おおよそ2つのグループに分類できます：

1. **Base** から **DistantView** までの5つのレイヤー  
— これらはすべて **SceneLayer** ノードの子ノードです。

2. **UI** と **PostEffectLayer** の2つのレイヤー。

これらの違いは以下の通りです：

- **SceneLayer ノード** は空間的な奥行きを持つ領域を表し、  
表示内容はカメラの位置の変化に応じて変わります。

- **UI** と **PostEffectLayer** ノードは、  
カメラがどのように移動しても、常に画面上に表示されます。

劇場の比喩で理解すると：

- **ステージ自体** が **SceneLayer** です。
- **カメラのレンズ前にかぶせるフィルター** が **UI** と **PostEffectLayer** です。

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:04 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/4 "2026-01-13T06:04:08Z")

</div>

# 「初期シーン（Initial Scene）」の設定

ACTION GAME MAKER では、シーンは専用の **Scene Transition（シーン遷移）システム** によって管理されます。  
このシステムは、ビジュアルスクリプトと同様の操作方法で、各シーン間の接続関係を定義します。

まず、先ほど作成したシーンを **Initial Scene（初期シーン）** に設定する必要があります。  
これは、ゲーム起動時に最初に表示されるシーンです。

* * *

## 操作手順

1. 画面上部中央のボタンをクリックし、エディタモードを **SceneTransition** に切り替えます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/1/1d64b5f6332f114afb4f5b6ae915c8039b7891d9.png)

- このボタンは、中央のエディタウィンドウに表示される内容を切り替えるためのものです。

1. 画面には空のグリッドが表示されます。

- 左下の **FileSystem（ファイルシステム）パネル** から、  
以前に保存したシーン **stage1.tscn** をこのグリッドにドラッグ＆ドロップします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/9/92215ce33ab0297cc656985ff3f66698677da978.png)

1. グリッド内に **stage1.tscn** が表示されていれば、設定は完了です。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/448015f23e9bf1b291a5619688823423ad2833d0.png)

1. 再度、画面上部中央のボタンをクリックし、 **2D** モードに切り替えて、以前の編集ビューに戻ります。

![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/d/d71bcbdfee075f1b4c21e9d825df16bcfd9cb39e.png)

- これにより、ゲーム起動時に **stage1** が最初のシーンとして表示されます。

* * *

## 注意：初期シーンを設定しないとどうなるか？

ACTION GAME MAKER には、 **core.tscn** という特別なシーンがあり、  
常にバックグラウンドで動作します。

通常、 **core.tscn** は指定したゲームシーンを読み込み、表示する役割を担います。

初期シーンを設定しない場合、画面には **core.tscn** のみが表示され、  
つまりゲーム起動後は **空白の画面** が表示されます。

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:05 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/5 "2026-01-13T06:05:17Z")

</div>

# タイルの設定

では、ステージ用のプラットフォームを作成しましょう。

**地面** と、その上にジャンプできる **空中のプラットフォーム** が必要です。  
プラットフォームの作成方法はいくつかありますが、今回は広範囲で形状の多様なステージを作成するため、それに特化したノード： **Tile（タイル）** を使用します。

**タイル** は、タイル張りのように小さな画像をグリッド状に並べて、プラットフォームなどの大きな構造物を構築するものです。

* * *

## タイル画像をFileSystemにインポート

まず、タイル画像を用意しましょう。

以下の画像を **右クリックして保存** してください。

![tile](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/0/092d4631c4d48d0e94ce0e4afcc73a72e2472129.png)

第1章で説明した通り、Godotエンジンはプロジェクトの **FileSystem（ファイルシステム）** 内にある素材しか使用できません。  
FileSystemは **倉庫** のようなものと考えてください。アトラクションで使う材料は、まず倉庫に入れておかなければ使えません。

インポート方法は非常に簡単です：  
ファイルを **エディタにドラッグ＆ドロップ** するだけです。

1. ダウンロードした画像が保存されているフォルダを開いたままにしておきます。

2. エディタで左下の **FileSystem（ファイルシステム）パネル** に移動し、 **res://** を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/0/0ac77aeef232d8e5171d7ea4130833f240aa2d20.png)

- インポートされたファイルは、現在選択されているフォルダに配置されます。

1. **tile.png** をコンピュータのフォルダからエディタウィンドウ内にドラッグします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/6/6486e46323e26cffbb174da38f6fcd2cc331a659.png)

* * *

## タイルを配置するレイヤーの選択

次に、タイルをどの **レイヤー（Layer）** に配置するかを決めます。  
ここでは **BaseLayer** を使用します。これは地面タイル用のデフォルトレイヤーです。

BaseLayerを展開すると、3つのノードが表示されます：  
**Base、BaseDecoration、BaseCover** 。  
これらはすべて **TileMapLayerノード** ですが、名前が異なります。

なぜ似たようなノードを3つ用意しているのでしょうか？

- これはタイルを **重ねて表示** し、前後関係を表現するためです。
- たとえば、地面タイルの上に松明を置きたい場合があります。
- レイヤーが1つしかないと、松明を置くと地面タイルが覆われてしまいます。
- 複数のレイヤーを使うことで、地面と装飾物を同時に表示できます。

では、 **Base** という名前のノードを選択してタイルを配置しましょう。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/7/74179eeb75fd17ebe88a6cad063b764fa7f45596.png)

画面下部に次のようなメッセージが表示されます：  
**“No TileSet found. Please create a TileSet in the Inspector.”**

* * *

## TileSetの作成

**TileSet** は、TileMapLayerが使用するタイルの基本情報を定義します。たとえば：

- 各タイルの **サイズ** と **形状**
- キャラクターとの **衝突** を有効にするか、そのまま通過させるか

用意したタイル画像は **48×48ピクセル** の正方形です。  
これはプレイヤーが立つプラットフォームになるため、衝突を有効にする必要があります。

1. **Inspector（インスペクター）** で **TileSet** を見つけ、  
 をクリックして **New TileSet** を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/a/a16dac00e7bba264472875ba4d108f82d2b3203b.png)

1. 次に、TileSetのプロパティを以下のように設定します：

- **Tile Shape（タイル形状）** ：Square
- **Tile Size（タイルサイズ）** ：x = 48 px, y = 48 px

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/40949e51e83f6faf30e8159172c88f2bc8c5e9c2.png)

1. **Physics Layers（物理レイヤー）** を展開し、 **+ Add Element** をクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/8/8eea80f950ae9ad783eebcfd67d8cba98fab0255.png)

1. **Collision Layer / Collision Mask** はデフォルトのままにしておきます。

- もしインスペクターに **Physics Layer 0** のように表示されていれば、  
TileSetの基本設定は完了しています。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/4d47fb5f32aa762847c0176865d59a4e73ba6b16.png)

* * *

### 説明：Collision Layer と Collision Mask

Godotでは、衝突は以下の2つの設定で判断されます：

- **Collision Layer（衝突レイヤー）** ：このノードが属するグループ
- **Collision Mask（衝突マスク）** ：このノードがどのグループと衝突するか

この仕組みについては第3章で詳しく説明します。

* * *

## タイルの内容の設定

TileSetを作成すると、下部のメッセージは次のように変わります：  
**“No source for TileSet”**

これは、タイルに **画像** を指定し、  
**衝突形状（地面/壁）** を設定する必要があることを意味します。

1. 下部パネルでタブを **TileMap** から **TileSet** に切り替えます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/d/d97111b04b307431aa5e1bf29a479547074d4c95.png)

1. FileSystemパネルから **tile.png** をTileSetエディタ左側の黒い領域にドラッグします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/d/d54ce5094853d19902d7e968595db002764047ef.png)

1. 新しいウィンドウが表示されます。  
タイルが48×48の正方形であるため、  
**Tile Size：x = 48, y = 48** に設定して **Yes** をクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/6/6cc3d39639f0d596b0a0ff185ddf2b7cdab15d67.png)

1. 次に、「Tile FormatをAuto Tileに設定しますか？」と尋ねられます。  
**No** を選択してください。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/7/7fc0aabc1e6b9078245478e33ac319be198d13dc.png)

* * *

### 説明：Atlas と Auto Tile とは？

**Atlas（アトラス）** とは、複数の小さな画像（地面、壁、坂など）を  
1つの大きな画像にまとめたものです。  
エンジンは1つの大きな画像を読み込み、それを複数のタイルに分割することで効率を高めます。

**Auto Tile（自動タイル）** はACTION GAME MAKER独自の機能の1つです。  
特定形式のタイルアトラスを自動的に整理しますが、今回はこの機能は使用しません。

* * *

## タイルに衝突形状を追加

1. TileSetエディタで上部の **Select** タブに切り替えます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/a/a7c693d680c021bb5b21062639e6a01b2b5d3357.png)

- このタブでは、個々のタイルの詳細設定ができます。

1. 右側でタイル画像をクリックして選択します。

- 下部のパネルがそのタイルのプロパティ設定に切り替わります。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/6/680f126657780246cc4cae4ddef4a4e3b9b91c07.png)

1. 下にスクロールして **Physics \> Physics Layer 0** を展開します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/55651eac2be32834b4734644e95ab3af293f03ac.png)

- これは先ほど作成した物理レイヤーです。

1. **Add Polygon Tool（ポリゴン追加ツール）** （「+」マークの正方形アイコン）をクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/52f995f90ed1dcb4613d4d10ddc4043c153f0db7.png)

- このツールは頂点を追加してポリゴンを描画するためのものです。
- ポリゴンは複数の点をつなげて形成される形状です。

1. 緑色の正方形の **右上隅** をクリックすると、菱形の点が表示されます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/1/1b77673e1e86bb296c7fbda560ebc7c1f11edd2b.png)

1. 時計回りに、 **右下、左下、左上** の隅にも同じ操作を繰り返します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/3/3b2ccb97197094a894cef8cdc3895dca46fe7dc6.png)

1. 最後に、最初に置いた点（右上隅）をもう一度クリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/517e533c4a50b61d18decff22da537548beecb92.png)

- タイルがオレンジ色になり、正方形全体が **衝突領域** として設定されたことを示します。

* * *

## よくある問題の対処法

- **点の位置が正しくない場合** ：  
**Edit Point Tool（点編集ツール）** （矢印付きの正方形アイコン）を使って点を移動します。

- **余分な点を追加してしまった場合** ：  
**Delete Point Tool（点削除ツール）** （Xマーク付きの正方形アイコン）を使って余分な点を削除します。

* * *

✅ ここまでで、以下の手順を完了しました：  
タイル画像のインポート、TileSetの作成、画像の指定、衝突の設定。  
これで、このタイルはキャラクターが立てるプラットフォームとして使用できます。

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:06 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/6 "2026-01-13T06:06:29Z")

</div>

# タイルの配置

タイルの準備が整ったので、実際にステージに配置してみましょう。  
目標は、 **カメラの視野内** に **地面** といくつかの **プラットフォーム** を作成することです。

* * *

## 手順

1. 画面中央の **エディタビュー（Editor View）** を確認します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/f/fe75c89ccacb6b9532ce225d4137469b91599b28.png)

1. エディタビュー内で、 **マウスの中ボタン（ホイールを押す）** を長押しします。

2. 下部パネルで、タブを **TileMap（タイル描画）** に切り替えます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/0/0af8ef43ab3a19a2a4329980ff89de7a5e802570.png)

1. 下部パネルの右側で、タイルをクリックして選択します。

2. マウスをエディタビュー内に移動すると、  
タイルがマウスポインタの下にプレビュー表示されます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/f/faffad3c6a75957011e08941a79ca36795f5035a.png)

- タイルが描画できない場合は、  
エディタがまだ **Move Mode（移動モード）** になっている可能性があります。  
**Select Mode（選択モード）** に切り替えてください。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/d/d31aeb154f596203ce6a2140c63bfce0fca3324d.png)

1. 以下の例に従って、地面とプラットフォームを描画します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/3/3b7c0f0d98eb497c78f7046c83331872d4929cdc.png)

- 完全に同じように描く必要はありませんが、  
プラットフォームが高すぎると、キャラクターがジャンプで届かなくなる可能性があります。

* * *

## テスト実行で確認

次に、ゲーム内で実際に動作を確認しましょう。

- 右上メニューの **Run Project（F5）** をクリックします。
- 設定が正しければ、タイルで構成された地面とプラットフォームが正常に表示されるはずです。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/1/1199a012f5b5a3ccceef034654bbea7e7a0d3ef3.png)

* * *

## トラブルシューティングチェックリスト

タイルが期待通りに表示されない場合は、以下の点を確認してください：

- タイルは **紫色の矩形（カメラの視野範囲）** の内側に配置されていますか？
- **SceneTransition** で、  
**Initial Scene（初期シーン）** が正しく **stage1.tscn** に設定されていますか？

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:07 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/7 "2026-01-13T06:07:16Z")

</div>

# 入力マップ（Input Map / 操作設定）の設定

シンプルなレベルの準備が整ったので、  
次に通常はプレイヤーキャラクターを作成します。

しかし、その前に、まず **入力マップ（Input Map、操作設定）** を設定しましょう。

入力マップの役割は、以下のように定義することです：

- **「このボタンまたはキーを押すと、このアクションを実行する」**

本チュートリアルでは、操作が比較的シンプルな **アクションシューティングゲーム** を作成します。  
そのため、現時点では基本的なアクションのみが必要です。

今回は、以下の4つのアクションのみを作成します：

- **Attack（攻撃）**
- **Jump（ジャンプ）**
- **Move Right（右に移動）**
- **Move Left（左に移動）**

（その後、スライディング、武器切り替え、はしご登りなどのアクションを追加することもできますが、  
まずは最も基本的で不可欠な操作のみを作成します。）

* * *

## 手順

1. 左上隅の **Project（プロジェクト）** メニューから、 **Project Settings（プロジェクト設定）** を開きます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/9/92e9b79c58ab21d11cf1a0eea13fa28a1a1bc4ab.png)

1. 新しいウィンドウが表示されます。  
上部のタブを **General（一般）** から **Input Map** に切り替えます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/f/f9ae8fa5bf4ef7f1c3159784c620c7b7aa13d9b5.png)

1. **“Add New Action”** と表示された入力欄に、アクション名を入力します。

2. **Right** と入力し、右側の **+ Add** ボタンをクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/5c760931432c9f72ef549fcd99f302079795fb75.png)

1. 同じ方法で、以下のアクションを追加します：

- **Left**
- **Jump**
- **Attack**

リストが以下の例と一致していれば、正しく設定されています。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/a/add14d7e431a715304ed16412778b856112e03ef.png)

1. 次に、 **Right** 行の右端にある **“+”（Add Event）** ボタンをクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/8/8a530d9e4ca17b2fb488d341488b4471d6f34c06.png)

1. **“Add Event to Right”** という名前のウィンドウが表示されます。  
キーボードの **→（右矢印キー）** を押してください。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/7/7fceeb70e99d8a9cb6ae9786ff7735680afde030.png)

1. ウィンドウに  
**Right** または **Right (Physical)** または **Right (Unicode)**  
と表示されていれば、設定は成功です。 **OK** をクリックします。

2. 他のアクションにも同じ手順を繰り返します：

- **Left** → **←（左矢印キー）** を割り当てる
- **Jump** → **Z キー** を割り当てる
- **Attack** → **X キー** を割り当てる

入力マップが以下のスクリーンショットと一致している場合、設定は完了です。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/43bfc26befb3e9c268d6535ef0ee27ce40293f17.png)

1. 最後に、 **Close（閉じる）** ボタンをクリックして設定を終了します。

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:08 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/8 "2026-01-13T06:08:00Z")

</div>

# 「Game Object（ゲームオブジェクト）」シーンの作成

次に、 **Game Object（ゲームオブジェクト）** のためのシーンを作成します。

* * *

## 操作手順

1. **Stage1** を作成したときと同様に、エディタ上部の **「+」（Add New Scene）** ボタンをクリックします。

2. **Create Root Node** で、 **Game Object** を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/3/3695047640ae7815704d32dd640230ef4f12f669.png)

1. すると、 **Create New Game Object（新しいゲームオブジェクトの作成）** ウィンドウが表示されます。  
ACTION GAME MAKER では、テンプレートを使ってさまざまな種類のオブジェクトを作成できます。  
以下のように設定してください：

- **Object Name** ：Player
- **Template** ：characters
- **Type** ：2DSprite Character Base
- **Object Group** ：Player
- **Object to be manipulated by input devices.** ：On
- **Add CameraTargetSettings Node.** ：On

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/b/ba42688092af65358e1615233442a716684b7405.png)

1. 設定が完了すると、複数のノードを含む新しいシーンが生成されます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/d/d5f025fff756a3ba22b260628cc295b8a3eb10a7.png)

1. このシーンを保存します。  
ファイル名は **player.tscn** のまま使用できます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/46ce8d4650894bf9fa028b3d98dbea0ab5d350b7.png)

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/46d50e6fc67a6b9949f57c47d920e5cff4f1e663.png)

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:08 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/9 "2026-01-13T06:08:32Z")

</div>

# 理解 Game Object 的结构

乍一看，Game Object 中包含了大量节点，可能会让人感到有些不知所措。  
不过，这些节点大致可以分为 **三大类** ：

* * *

## 1. 名称中包含 “Settings” 的节点

这类节点用于保存可以被 **ACTION GAME MAKER 的可视化脚本（Visual Script）**  
读取和使用的数据。

通过在这里设置数值，例如 **HP、攻击力、移动速度、跳跃力度** 等，  
就可以在 Visual Script 中直接使用这些参数。

* * *

## 2. 名称中包含 “Collision” 的节点

这类节点用于定义 **碰撞检测的形状** 。例如：

- **CollisionShape2D** → 用于与墙壁、地面发生碰撞
- **AttackCollision** → 攻击判定的碰撞区域
- **HitCollision** → 被攻击时用于判定受伤的碰撞区域

* * *

## 3. 与动画相关的节点

- **AnimationPlayer** → 用于控制角色的动画
- **Sprite2D** → 提供动画中使用的图像素材

* * *

在配置 Game Object 时，你将主要使用以上这三类节点。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/3/34c92942b55c3274361125eece9a17aabc758567.png)

* * *

## 可视化脚本只能设置在 Game Object 上

ACTION GAME MAKER 的可视化脚本，是通过读取这些节点中的数据来工作的。  
正因为如此，可视化脚本 **只能** 被设置在 **Game Object 节点** 上  
（在本例中，就是 **Player** 节点）。

* * *

## 规划对象的设置内容

在本节中，我们只需要实现 **移动和跳跃** 功能。  
因此，暂时还不需要配置攻击或受伤相关的内容。

目前我们只需要以下这些要素：

- **玩家角色的图像**
- **移动与跳跃的动画**
- **移动速度**
- **跳跃力度**
- **移动用的按键设置**

所以，在这一部分中，我们将只针对以上这些内容进行配置。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/b/b62db661eb38854f1d9b3be6eeb9e6d2d851e9d6.png)

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:09 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/10 "2026-01-13T06:09:18Z")

</div>

# Sprite2D にプレイヤーキャラクターのスプライト画像を設定する

次に、画像を表示するための **Sprite2D** ノードにプレイヤーキャラクターの画像を適用します。  
ここでは、このチュートリアルで提供されているサンプル画像を使用します。

* * *

## 手順

1. 下の画像を **右クリック** して、コンピュータに保存してください。

 ![player](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/c/cf99ce28dca1d2d627e529d3b06d572ced5fd26b.png)

1. ダウンロードした画像を **FileSystem（ファイルシステム）** にドラッグしてインポートします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/a/a2990e8ed9eec16def8c9a827415afa37e08f6b4.png)

1. 画像を表示する **Sprite2D** ノードを選択します。

2. 右側の **Inspector（インスペクター）** パネルで、 **Texture（テクスチャ）** プロパティを見つけます（現在は `\u003cempty\u003e` と表示されているはずです）。  
インポートした **player.png** ファイルをこのプロパティにドラッグします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/d/da5a24b29c251bfc1e153da9f69773ec24c5fcfd.png)

1. 画像が表示されますが、 **9 つのキャラクターがすべて同時に画面に表示されている** ことに気づくでしょう。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/1/1243bfa89bced1a8c944bb330d04b7faf3c76c24.png)

- これは、このファイルが **Sprite Sheet（スプライトシート）** であるためです。  
つまり、すべてのアニメーションフレームが 1 つの画像にまとめられている形式です（以前にタイルで説明した Atlas と同様の概念です）。

- したがって、まず **スプライトシートを分割** し、Godot に現在表示すべき部分を指示する必要があります。

* * *

## スプライトシートの分割

1. Inspector で、 **Animation（アニメーション）** セクションを展開します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/f/f9f5c65ee15439da6332fbe1357e8749b8927965.png)

1. **Hframes（横方向のフレーム数）** を **5** に、  
**Vframes（縦方向のフレーム数）** を **2** に設定します。

- これにより、画像全体が 5 × 2 = **10 個の小さなフレーム** に分割されます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/f/f9bdd628ce79624c6b1be3ba825a1da6366af7ff.png)

1. Inspector の **Frame** プロパティの上下矢印をクリックしてみてください。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/9/910d999ce453be66e6bc864589ad3dc31ef10959.png)

- クリックするたびに、表示される画像がわずかに変化します。
- ゲーム内のアニメーションは、このようにして実現されています——  
ページをめくるように、1 フレームずつ画像を切り替えるのです。

* * *

## 解説：なぜ最初のフレームは 0 から始まるのか？

最初のフレームの番号が **0** で、 **1** ではないことに疑問に思うかもしれません。  
プログラミングの世界では、リストや配列は通常 **0** から数え始めます。

Godot もこの慣習に従っており、アニメーションフレームの番号も **0** から始まります。

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:10 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/11 "2026-01-13T06:10:26Z")

</div>

# AnimationPlayer ノードでアニメーションを作成する

Godot Engine / ACTION GAME MAKER では、アニメーションは **AnimationPlayer ノード** を使って作成します。  
このシステムは、 **タイムライン（時間軸）** を用いた方式で、ビデオ編集ソフトウェアに似ています。

タイムライン上では、画像や音声などの **トラック（軌道）** を作成し、  
トラック上に **キーフレーム（キーフレーム、イベント）** を配置します。  
時間が進むにつれて、AnimationPlayer は各トラック上のキーフレームを順番に実行します。

これを **交響楽の楽譜** に例えると：

- 1秒目にピアノがCの音を演奏する。
- 同じ時間に、ヴァイオリンがDの音を演奏する。

この例では：

- **トラック（Track）＝楽器**
- **キーフレーム（Keyframe）＝演奏指示**

* * *

## 本チュートリアルで作成するアニメーション

本チュートリアルでは、以下の3つの基本的なアニメーションを作成します。

- **Idle（待機）** → 入力がないとき
- **Jump（ジャンプ）** → ジャンプキーを押したとき
- **Move（移動）** → 左右方向入力があるとき

これらを **AnimationPlayer** を使って作成します。

* * *

## 操作手順

1. Scene（シーン）パネルで **AnimationPlayer** ノードを選択します。

2. 画面下部に新しい **Animation（アニメーション）パネル** が表示されます。  
（以前のタイルエディタと似ています。）

3. **Animation** ボタンをクリックし、 **New** を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/a/a7b9e1523295ec6fc696b26f7fd834a19ea1b90f.png)

1. アニメーション名を入力するウィンドウが表示されます。  
まず **Idle** アニメーションを作成し、名前を入力して **OK** をクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/e/e71dc578003c99095806cd8dc0586bee808170f7.png)

1. これで Idle アニメーションが作成されました。

- 次に、以前に設定したスプライトフレームを使ってアニメーションを作成します。

1. **Sprite2D** ノードを選択します。

- 9枚のキャラクター画像のうち、Idle は **左上の1枚** のみを使用します。
- 左上の画像は **Frame 0** なので、Idle アニメーションは **Frame 0** を表示すればよいです。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/6/6c66c13a5c1a97bfe71475982e186be19d59394e.png)

1. Inspector で、 **Animation \> Frame** の値が **0** であることを確認します。

- その右側の **🔑+ ボタン** をクリックします。

![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/3/33bf7d79081ac3d8b82adffa4e005c8af28ad8ee.png)

- これで **キーフレーム** が挿入され、現在のフレーム情報を編集中のアニメーションに記録されます。

1. ウィンドウが表示されます。  
**“Create RESET Track(s)”** を **オフ** にしたまま、 **Create** をクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/461fc6a42a89f0b45ebad1521c498e0f19689dcc.png)

* * *

### 说明：RESET トラックとは？

RESET トラックは、シーンの **初期状態** を指定するために使用されます。  
たとえば、Idle をデフォルト状態に設定できます。

しかし、ACTION GAME MAKER では通常 **RESET トラックは使用しない** ため、ここでは **オフ** のままにしておけばよいです。

* * *

1. タイムライン上に **Sprite2D: frame** というトラックが表示されます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/52d3e90b6e31f4df9a54f4142007d5fd1743e9c4.png)

- 0秒の位置に、player.png の **Frame 0** が設定されています。
- Idle アニメーションが再生されると、すぐにこの画像が表示されます。
- Idle は1枚の画像のみを使用するため、これでアニメーションは完了です。

1. 手順1～8と同じ方法で、 **Jump** アニメーションを作成します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/0/04fba405f51df5f7162fbecf035edbb7e6652595.png)

- ジャンプアニメーションは **1行目の3枚目** → **Frame 2** を使用します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/52747cc4a31b8462580df97f1ef9b6505e699e33.png)

- 正しく設定されていると、タイムラインの0秒位置にFrame 2が表示されます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/d/deb876cfc9c052a7abca33e1e78a6d2d3006f353.png)

1. 最後に、 **Move（移動）** アニメーションを作成します。

- Idle や Jump とは異なり、Move アニメーションは **4枚のフレーム** を使用します。

- 動作が滑らかに見えるように、 **0.2秒ごとにフレームを切り替え** 、アニメーションをループ再生します。

* * *

## Move アニメーションの作成

1. 以前と同じように、 **Move** という名前のアニメーションを作成します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/59eacee7091da2c39b2051764b6ca32b2a82b8a0.png)

- まず0秒の位置に **Frame 5** を設定します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/3/3539f3d716c47fb24a1fd9a25d5b4602e4a2a2fe.png)

1. タイムラインの再生ヘッドを **0.2秒** に移動します。  
（時間表示の入力ボックスに「0.2」と直接入力します。）

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/c/cb44a29ed812f2b83e57eb08c7eeb011f34a37d4.png)

1. Sprite2D の Frame を **6** に変更し、 **🔑+ ボタン** をクリックしてキーフレームを挿入します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/5d1ae9d419552de4e9733d17e32c57ead63ef112.png)

- これで0.2秒の位置にFrame 6が追加されているはずです。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/1/1eb0ab4bfd47210619faa0128c41b54e4771e5c8.png)

1. 同じ操作を繰り返します。

- **0.4秒** で **Frame 7** を設定します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/8/8c7f40f6ef1dbc5afa47d35d8ada499175631ab4.png)

- **0.6秒** で **Frame 8** を設定します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/9/9ef963e39a68572acb863ef18b7bb63640dfd267.png)

- これで4枚のフレームがすべてタイムラインに配置されました。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/c/cc3a8150d23cb83bc817e8fa90d53208f76f3153.png)

1. **アニメーションの長さ** を調整します。

- Animation パネルの右上に、 **1** と表示されている入力ボックスがあります（デフォルトでは1秒）。
- 4枚のフレームを0.2秒ごとに切り替えるため、 **0.8** に変更します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/9/9550f42f80a2c3f03faf4477da18619edc439e52.png)

- これにより、アニメーションがループする際にカクツかないようにします。

1. ループ再生を有効にします。

- 時間入力ボックスの横にある **ループボタン** （円形の矢印）をクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/5b3604fbfc26abba6b675b7dc5f7a161642efe2f.png)

- これでアニメーションが自動的にループ再生されます。

* * *

### 说明：Loop と Ping-Pong Loop の違い

- 1回クリック：通常のループ（アニメーションは最初から最後まで再生し、再び最初から始まる）。
- 2回クリック： **ピンポンループ（Ping-Pong Loop）**  
（アニメーションは正方向に再生 → 逆方向に再生 → 再度正方向に再生）

![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/4f81412bf1cf445032c8a677573cebae7a137b42.png)

* * *

1. すべての設定が完了したら、 **Play（再生）** ボタンをクリックしてアニメーションをテストします。

- アニメーションが滑らかに再生されていれば、完了です！

* * *

## 故障診断

- アニメーションが正しく表示されない場合：

- また、以下の点も確認してください：

* * *

✅ これで、プレイヤー役のキャラクターに  
**Idle、Jump、Move** の3つのアニメーションを成功裏に作成しました。

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:11 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/12 "2026-01-13T06:11:30Z")

</div>

# アニメーションセットの作成

ACTION GAME MAKERには、「 **アニメーションセット** 」というシステムがあり、  
キャラクターの移動方向に応じて、 **自動的に適切なアニメーションに切り替える** ことができます。

アニメーションセットでは、最大 **8つの方向** にアニメーションを割り当てることができ、  
一度アニメーションセットを選択するだけで、  
キャラクターが右、左、上などに移動するたびに、アニメーションが自動的に切り替わります。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/9/9ff882b31f68a8669b02d415df50a44d67366d5d.png)

今回のゲームでは、 **右** と **左** の2つの移動方向のみが必要です。  
現在、 **Idle（アイドル）** 、 **Jump（ジャンプ）** 、**Move（移動）の3つのアニメーションを作成しており、  
これらはすべて右向き**のアニメーションです。

しかし、システムでは\*\*アニメーションの自動反転（Auto Flip）\*\*機能が有効になっています。  
つまり、左向きのアニメーションを別途作成する必要はなく、  
システムが右向きのアニメーションを左右反転して表示してくれます。

また、この場合（左右移動のみで、反転で左向きアニメーションを実現できる）には、  
**一括インポート機能** を使用することで、  
アニメーションセットの設定を迅速に完了できます。

* * *

## 操作手順

1. \*\*Scene（シーン）\*\*パネルで、 **Player** ノード（つまりGameObjectノード）を選択します。

![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/c/c09cb90498c13c1990fe5606237f04b44f739bf4.png)

1. \*\*Inspector（インスペクター）\*\*で、 **Select Animation Player** ボタンをクリックします。

2. ノード選択ウィンドウが表示されるので、 **AnimationPlayer** ノードを選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/3/34085ad383739828885bb1db1b2724674a171ff7.png)

1. 次に、\*\*Bulk Load Animations（一括読み込み）\*\*ボタンをクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/6/678c20f39a56f8a53cec1bfe7b9cd987d65ed2fd.png)

1. 設定が正しく完了したか確認するために、 **Animation Set** 領域を展開します。

2. 操作が正しければ、Animation Setに **Jump、Idle、Move** の3つのアニメーションが表示されているはずです。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/9/999747c433a61dcae775ba2878880810f7920c37.png)

* * *

## 故障対処

- アニメーションがAnimation Setに表示されない場合：

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:12 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/13 "2026-01-13T06:12:22Z")

</div>

# プレイヤー設定の調整

アニメーションの作成が完了したので、次はプレイヤーの各種設定を行います。

以下の3つの作業を行います：

1. **移動に使用するキーの設定**
2. **移動速度とジャンプ力の調整**
3. **衝突形状（Collision Shape）の調整** 、キャラクターの体サイズに合わせる

* * *

## 移動キーの設定

まず、以前に設定した入力アクションを使ってキャラクターの移動キーを指定します。

1. **Scene（シーン）** パネルで **MoveAndJumpSettings** ノードを選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/7/7d7b6a7a783e391c6cc76d1d1eb2a9ce04a92cc4.png)

1. **Inspector（インスペクター）** で以下の設定を行います：

- **Left Move Key** → Left
- **Right Move Key** → Right

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/4c7ffb5bffbdbd73192ce726610bd01eee5b8f4c.png)

* * *

## 移動速度とジャンプ力の調整

次に、キャラクターの移動速度とジャンプ力を調整し、ゲーム操作に適した状態にします。

1. **MoveAndJumpSettings** ノードが選択された状態で、Inspectorを確認します。

2. **Horizontal Speed（水平速度）** を **100** から **300** に変更します。

- これにより、方向キーを1秒間押したときにキャラクターは **300ピクセル** 移動します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/c/cbf8f2f9d40313583bfa8130232adde72910a888.png)

1. 下の方にある **Jump Force（ジャンプ力）** を見つけます。

- これを **500** から **700** に変更します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/c/c8760b228ba5f4e2ba2e3898acf6befcaaa39228.png)

- これは、ジャンプキーを押したときにキャラクターが **700ピクセル/秒** の速度で上に跳躍することを意味します。

* * *

## 衝突形状（Collision Shape）の調整

**CollisionShape2D** ノードは、キャラクターが地面や他の物体と衝突する際の形状を定義します。  
現在の形状は小さすぎ（キャラクターの頭よりも小さい）、  
キャラクターの体が地面に「沈んでしまう」現象が発生しています。

これをキャラクター全体のサイズに合わせて調整する必要があります。

1. **Scene（シーン）** パネルで **CollisionShape2D** ノードを選択します。

- オレンジ色の点で囲まれた小さな青い長方形が、現在の衝突形状です。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/3/35460584e7284c258c36cd0252e8e1973aeee8c1.png)

⚠ ここでキャラクターが **Jump** や **Move** のアニメーションフレームを表示している場合、  
まず **AnimationPlayer** を **Idle** に戻してください。

- これにより、衝突形状をキャラクターの体に合わせて調整しやすくなります。

1. 長方形の4つの角にある **オレンジ色の制御点** をクリックしてドラッグし、サイズを調整します。

- 衝突形状をキャラクターの **全身** を覆うように調整します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/f/f3e7a933ff2560eea9f0080e456aaf306e5ae6de.png)

* * *

✅ 上記の設定を完了すると、  
あなたのキャラクターは入力に正しく反応し、  
適切な速度で移動・ジャンプでき、  
地面との衝突時に沈み込む問題も解消されます。

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:13 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/14 "2026-01-13T06:13:05Z")

</div>

# 可視化スクリプト（Visual Script）を使ってキャラクターを動かす

これで準備はすべて完了しました ——  
それでは、 **可視化スクリプト（Visual Script）** を使ってプレイヤーキャラクターを実際に動かしてみましょう。

まず、Player に **Visual Script** を追加（アタッチ）する必要があります。

* * *

## 可視化スクリプト（Visual Script）の追加

1. **Scene（シーン）** パネルで、 **Player ノード** （GameObject）を選択します。

2. **📜+（Attach Script、スクリプトの追加）** ボタンをクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/8/8a41db0db1a25220a1eeafa94308289f3bad1ddb.png)

1. 新しいウィンドウが表示され、 **VisualScript** か **GDScript** （標準的なプログラミングスクリプト）のどちらを追加するか尋ねられます。

- ここでは **Player ノード（GameObject）** を選択しているため、  
**VisualScript** が自動的に選択されます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/6/68744b63746cf855a0c4c4a2f1f0d7c955584ed3.png)

- そのまま **Create（作成）** ボタンをクリックしてください。

1. エディタービューが自動的に **Script（スクリプト）** タブに切り替わります。

- 2つのボックスが表示されます： **State001** と **AnyState** 。
- これが **Visual Script の作業エリア** です。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/d/dd68569dcac1cc7b20eca0d7c991face043be5a7.png)

* * *

## 以前のビューに戻る

以前の編集画面に戻りたい場合は、  
上部のタブを **2D** に切り替えるだけです。

Scene Transition（シーン切り替え）の部分で説明したように、  
上部のタブはエディターが現在表示している内容を切り替えるために使用されます。

![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/d/d8a2a3bacc2f680786d6ccce211e0d6edbf02c37.png)

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:13 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/15 "2026-01-13T06:13:55Z")

</div>

# 状態の作成（States）

## どの状態が必要かを決める

第1章で説明したように、ACTION GAME MAKERのビジュアルスクリプトは以下の手順で構築されます：

1. 角色の\*\*状態（State）\*\*に行動を追加する
2. 条件に応じてこれらの状態を\*\*接続（切り替え）\*\*する

このチュートリアルでは、キャラクターがレベル内で歩いたりジャンプしたりするだけなので、以下の3つの状態が必要です：

- **Idle（待機）**
- **Move（移動）**
- **Jump（ジャンプ）**

これらの状態を適切な条件で接続・切り替えることで、プレイヤーキャラクターの基本的な移動動作を実現できます。

まず、 **Idle、Move、Jump** の3つの状態を準備し、それぞれにアニメーションと行動を割り当てます。すでに存在している **State001** は、そのまま **Idle** 状態として使用できます。

* * *

## Idle状態の作成

1. **Script（スクリプト）ウィンドウでState001** を選択します。

2. **Inspector** で、 **Title** を「State001」から **Idle** に変更します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/b/be4a4799204c711191ea6af8981cf49de53437d7.png)

1. **Animation to assign \> Animation Select** で、空白のフィールドをクリックし、 **Idle** を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/f/f94c2f601175115545112cab3e52c3844b0c89d7.png)

- これにより、キャラクターがIdle状態にあるときに、Idleアニメーションが再生されます。

* * *

## Move状態の作成

Move状態は新しい状態として作成する必要があります。

1. **Idle** 状態の右側の空白領域を **右クリック** します。

2. メニューから\*\*Add State（状態の追加）\*\*を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/3/3875a5e60a4226107038b52e0c8454c7a98bf9c0.png)

1. 新しい「State001」が表示されます。 **Title** を **Move** にリネームします。

2. \*\*Animation Category（アニメーション分類）\*\*で、 **Move** を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/52364bcdf538751344fe5f534617bcc5e19a86f6.png)

- これにより、キャラクターがMove状態にあるときに、Moveアニメーションが再生されます。

* * *

## Jump状態の作成

Jump状態にはアニメーションだけでなく、実際にジャンプ動作を実行する必要があります。

1. **Idle** と **Move** 状態の下に、新しい状態を作成します。

2. 以前と同じように、 **Title** を **Jump** にし、 **Animation** を **Jump** に設定します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/3/3c068577dc4535411bc9600cb5670d9d0cda6484.png)

1. \*\*Action Settings（アクション設定）\*\*領域を展開します。

- **Jump** オプションにチェックを入れます。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/c/c26a1347131b51b78f0574451f0b24abd2aad178.png)

- これにより、キャラクターがJump状態に入ると、自動的にジャンプ動作が実行されます。

* * *

## なぜMove状態に「移動動作を実行する」設定がないのか？

プレイヤーの入力に基づく移動操作は、 **MoveAndJumpSettings** で設定されたキー割り当てによって処理されています。

このシステムは **すべての状態に適用** されるため、Move状態自体に移動を実行するための追加のアクション設定は必要ありません。

* * *

✅ ここまでで、 **Idle、Move、Jump** の3つのコアな状態を成功裏に作成・設定しました。  
これらはキャラクターの基本的な動作を駆動するために使用できます。

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:15 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/16 "2026-01-13T06:15:27Z")

</div>

# リンク（Link）を使って各状態を接続する

これで3つの状態を作成したので、次は\*\*リンク（Link）\*\*を使ってそれらを接続し、キャラクターが状態間をスムーズに切り替えるようにします。

* * *

## 状態切り替えの条件を考える

このゲームの基本的なロジックは以下の通りです：

- **左/右キーを押す → Move**
- **ジャンプキーを押す → Jump**
- **入力がない → Idle**

つまり：

- 左/右キーを押したとき **Idle → Move** 、すべてのキーを離したとき **Move → Idle**
- Idle状態でジャンプキーを押すと **Idle → Jump**
- 移動中にジャンプキーを押すと **Move → Jump**
- 落下（キャラクターの底部がタイルと接触）したとき **Jump → Idle**

👉 では、 **Jump → Move** のリンクは必要でしょうか？  
実は必要ありません。  
落下時に移動キーを押したままの場合、  
すぐに **Idle → Move** がトリガーされるため、Jumpから直接Moveに遷移する必要はありません。

* * *

## Idle と Move を接続する

1. **Idle** 状態を右クリックし、\*\*Add Link（リンクの追加）\*\*を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/9/9f6495a5339b432d8a8b02a686b24ac5ac55bc0b.png)

1. Idle から **Move** 状態へドラッグして接続します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/6/62b81fb609b00e712edc3f54829cdbf289eb1991.png)

- これで Idle と Move は接続されました。
- 次に、左/右キーを押したときに Move に切り替える条件を設定します。

1. 新しく作成したリンクを選択し、Inspectorで **Trigger On Input** をチェックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/a/a027bfbe9d79b01719f82274ebe43d98d3fec61e.png)

1. **Input Operation List（Array[InputCondition]）** を展開します。

2. **+ Add Input** をクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/6/61d13a38674332d1863c8a5778a74b494f6a8984.png)

1. `\u003cempty\u003e` が表示されるので、それをクリックして **New Input Condition** を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/0/0e9bb7914c5fe286374ebd311cc38266fd706dc6.png)

1. `\u003cempty\u003e` が **Input Condition** に変わり、展開します。

2. 以下の設定を行います：

- **Input Target** ：Four Any Input Keys
- **Up Key** ：None
- **Down Key** ：None
- **Left Key** ：Left
- **Right Key** ：Right
- **Input Method** ：Being Pressed

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/b/bc2fb930a104330bf306225fd0a29bc4e1d109d5.png)

1. これで、Left または Right キーを押していると、  
キャラクターは **Idle → Move** に切り替わります。

2. 次に **Move → Idle** のリンクを作成します。  
**Move** を右クリックし、 **Add Link** を選択します。

3. 新しく作成されたリンクを選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/1/1e406925fc214302323f1ae4564ce6d0693ccc5c.png)

1. Inspectorで **Trigger On No input** をチェックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/4302ae4abee77d29ef9ebe86bcd5b88983e5410e.png)

- これで、入力がない状態でキャラクターは Idle に戻ります。

* * *

## プレイヤーをステージに配置してテストする

ここまでで、キャラクターは地面で左右に移動できるはずです。  
**stage1.tscn** に Player ステージを配置してテストしましょう。

1. エディタービューを **Script** から **2D** に切り替えます。

2. Player ステージを保存します：  
**player タブ** を右クリックし、 **Save Scene** を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/f/f335b22585f32e6cddbce1df07c996ba5c947602.png)

1. **stage1.tscn** タブに切り替えます。

![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/2/2c4eb27f8ed6cde063f7a23ea961d40eb7fb7172.png)

1. Scene パネルで **Base（TileMapLayer）** を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/e/e611d1f38ca6e1eda2c5354fd534ae7909507873.png)

1. FileSystemから **player.tscn** をドラッグしてステージに配置し、地面に置きます。

2. Player が **BaseLayer の子ノード** であることを確認します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/7/78cd15633b023c04d684a451efe53a607a796350.png)

- レイヤーが正しくない場合は、Scene パネルでドラッグして調整します。
- 位置が不適切な場合は、 **Move Mode** を使って調整できます。

1. 右上隅の **Run Project（F5）** をクリックします。

2. すべて正常に動作すれば、キャラクターは以下のようになります：

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/1/13c9d1a7b56b833c833b508ad2241acc138bdb56.png)

- Left / Right を押すと移動
- キーを離すと停止

* * *

### トラブルシューティング

- **キャラクターが動かない**  
→ MoveAndJumpSettings で入力キーが正しく設定されているか確認してください。

- **キャラクターが動くがアニメーションが切り替わらない**  
→ Idle → Move のリンクと、Move 状態のアニメーション設定を確認してください。

- **キャラクターが Idle に戻れない**  
→ Move → Idle のリンクの条件が正しく設定されているか確認してください。

⚠ エラーメッセージ：`ID is not set in CameraTargetSettings.`  
これは CameraTargetSettings が存在するが設定されていないためです。  
**第4章** でカメラの追従を設定するので、今はこのメッセージを無視しても安全です。

* * *

## Idle、Move、Jump を接続する

次に、Jump 状態も接続します。

1. **player** タブに戻り、エディタービューを **Script 視図** に切り替えます。

![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/2/265cf0620ddc68967463cedc663de4a38fa9baef.png)

1. **Idle** を右クリックし、リンクを追加して **Jump** に接続します。

2. そのリンクを選択し、 **Trigger On Input** を有効にします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/e/e6626de2ccd05db185c9889e2b8bd825bef297e8.png)

1. Input List → **+ Add Input → New Input Condition** をクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/0/0e9bb7914c5fe286374ebd311cc38266fd706dc6.png)

1. 以下の設定を行います：

- **Input Target** ：Registered key
- **Input Key** ：Jump
- **Condition** ：Moment pressed

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/e/e922651378885ae07817b1da0fba92e55d87cef7.png)

- これで、Idle 状態で Jump キーを押すと Jump に切り替わります。

1. 次に **Move → Jump** を接続します。  
条件が同じなので、Idle → Jump のリンクを再利用できます。

2. **Idle → Jump** リンクを右クリックし、 **Copy** を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/4634aa3bdeb30cc75cf00837873f73bef3a547ed.png)

1. **Move** 状態を右クリックし、 **Paste Link** を選択します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/3/33feb31771d493ba808160750648625c52c828a7.png)

1. 新しいリンクを **Jump** にドラッグして接続します。

2. **Move → Jump** リンクを選択し、条件が正しく設定されているか確認します（Jump キーが押されていること）。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/544dc6b61164dfa87815be93c9bbc77a10de3658.png)

* * *

## Jump から Idle に戻るリンクを接続する

1. **Jump** 状態を右クリックし、リンクを追加して **Idle** に接続します。

2. 入力に基づかない切り替えなので、Inspectorで **+ Add Condition** をクリックします。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/0/024c0c2d1b0bf431df87a468ceb5beaa6f054df1.png)

1. 表示されたウィンドウで **ContactWithTile** を選択します。

2. 条件を **Incoming Contact Direction → Bottom** に設定します。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/c/c315288a4e06b23d19873212fefc55d8ff28cb4d.png)

- これは、キャラクターの **底部** がタイルと接触した（着地した）ときに切り替えることを意味します。

1. リンクが以下の状態であれば、設定完了です。

 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/f/ff11a0fd8788505a3b30574de2b41c1bda8ac681.png)

* * *

## テスト実行

**Run Project（F5）** をクリックします。

- Idle または Move 状態で **Z** を押す → キャラクターがジャンプするはず
- 着地後、キャラクターは Idle に戻るはず

* * *

### トラブルシューティング

- **ジャンプできない**  
→ Idle → Jump と Move → Jump のリンクを確認し、  
Jump 状態で Jump Action が有効になっているか確認してください。

- **着地しても Idle に戻らない**  
→ Jump → Idle のリンクを確認し、  
「ContactWithTile（Bottom）」の条件が設定されているか確認してください。

* * *

✅ これで、ビジュアルスクリプトを使って、キャラクターが **スムーズに待機、移動、ジャンプ** できるようになりました！

---

<div class="post-metadata">

**Author:** ![Moonling](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/moonling/32/369_2.png) [@Moonling](https://guild.rpgmakerofficial.com/u/Moonling)\
**Post date:** [2026 年 1 月 13 日午前 6:16 UTC](https://guild.rpgmakerofficial.com/t/topic/1092/17 "2026-01-13T06:16:22Z")

</div>

# 第2章 レビュー

第2章では、 **Game Scene（ゲームシーン）** と **Game Object（ゲームオブジェクト）** の概念を学び、  
それぞれにレベルとプレイヤー役を制作しました。

- **Game Scene** では、 **レイヤー（Layer）** の概念を学び、  
そして **タイル（Tile）** を **インポートして配置する方法** を学びました。

- **Game Object** では、 **画像のインポート、アニメーションの作成、各種設定の調整、可視化スクリプト（Visual Script）の追加** 方法を学びました。

このようなワークフローは、ほぼすべてのゲーム開発に適用できます。  
したがって、今後のプロジェクトで困ったときは、  
このステップを振り返り、比較することで、思考の整理ができます。

ここまでで、あなたは **ACTION GAME MAKER の基本操作とコアコンセプト** を習得しました。  
**第3章** では、さらに一歩進んで、  
**弾の発射** と **敵キャラクターの作成** を加えることで、  
ゲームをより本格的な完成形に近づけていきます。

👉 第3章はこちらから

> [@教程：“从零开始使用 ACTION GAME MAKER”—第 3 章](https://guild.rpgmakerofficial.com/t/topic/1093?u=moonling):
>
> 第 3 章：发射子弹并击败敌人 第 3 章的目标 在第 2 章中，我们完成了以下目标： 创建了一个玩家角色可以行走和跳跃的简单关卡。 在本章中，我们将更进一步，讲解如何实现以下功能： 玩家可以通过发射子弹来击败敌人。 下面是完成第 3 章后效果的示例视频： [[「0からはじめるACTION GAME MAKER」第三章完成イメージ] ](https://www.youtube.com/watch?v=Y0jEM2pSW0I)规划“玩家射击并击败敌人…
