# チュートリアル: スクリプトコース #4 — UIを作成しよう

**URL:** https://guild.rpgmakerofficial.com/t/topic/62
**Category:** チュートリアル
**Tags:** tutorial, english
**Created:** [2025 年 6 月 6 日午前 7:21 UTC](https://guild.rpgmakerofficial.com/t/topic/62 "2025-06-06T07:21:03Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![GGG-Administrator](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/ggg-administrator/32/6_2.png) [@GGG-Administrator](https://guild.rpgmakerofficial.com/u/GGG-Administrator)
#### Post date: [2025 年 6 月 6 日午前 7:21 UTC](https://guild.rpgmakerofficial.com/t/topic/62/1 "2025-06-06T07:21:03Z")

</div>

このコースでは、 **アクションゲームメーカー** でのスクリプトの基礎を学びます。  
この第4回では、 **HPバーUI** を作成します。

* * *

## 前提条件

前のチュートリアル（#1〜#3）で使用したプロジェクトを続けます。  
プロジェクトを開いて準備を整えてください。

---

<div class="post-metadata">

### Author: ![GGG-Administrator](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/ggg-administrator/32/6_2.png) [@GGG-Administrator](https://guild.rpgmakerofficial.com/u/GGG-Administrator)
#### Post date: [2025 年 6 月 6 日午前 7:21 UTC](https://guild.rpgmakerofficial.com/t/topic/62/2 "2025-06-06T07:21:54Z")

</div>

## ステップ 1: プレイヤーの調整

1. `Object_Sampleplayer` を開きます。
2. `BaseSettings` を開き、 **HP** と **Max HP** を `20` に設定し、 **Blink Duration** を `0.1 秒` に設定します。これにより、点滅エフェクトを追加して無敵状態をより目立たなくします。  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/2befd0bee6900982c8b4e8c004e926ff1313d913.png)
3. 次に、新しいノード `TakenDamageSettings` を追加します。  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/cc719fd5b0e0151613cefc1d966e93b10bf320c6.png)
4. `TakenDamageSettings` では多くの設定が可能ですが、今回は **ダメージボイス** を追加するために使用します。  
新しいダメージ設定を作成し、`Other Settings` で **Play Sound** を有効にし、サウンドを `male_1_1_A` に設定します。  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/afad1e25581826082262163259d8bf4ee7f6b76a.png)
5. ゲームをテストします。プレイヤーはダメージを受けた際に点滅し、ボイスが再生されるはずです。ただし、プレイヤーとゾンビが互いに押し合いしているため、これを修正します。
6. `Player` ノードを選択し、`Collision > Collision Layer` を `1` から `2` に変更します。  
レイヤーはオブジェクトが属する物理レイヤーを定義し、マスクはどのレイヤーと衝突するかを定義します。  
ゾンビは **レイヤー 2 / マスク 1** を使用しているため、プレイヤーを **レイヤー 2** にすることで、互いに衝突しなくなります。
7. (CollisionLayer/CollisionMaskの詳細は別マニュアルで説明しています。)\*  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/f5a60428b33df677531fdfd15fc521c6d17737a4.png)
8. これで、 **20 HP** を持ち、敵から **1 ダメージ** を受けた後に **1 秒間無敵** になるキャラクターが完成しました。

* * *

### 備考

**TakenDamageSettings でできること**  
Attack Settings で設定した攻撃属性に基づいてダメージ倍率を調整できます。これは弱点や耐性の設定に役立ちます。  
また、大きなダメージを受けた際にゲームが一時的にスローモーションになるような「ヒットストップ」の設定も可能です。

---

<div class="post-metadata">

### Author: ![GGG-Administrator](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/ggg-administrator/32/6_2.png) [@GGG-Administrator](https://guild.rpgmakerofficial.com/u/GGG-Administrator)
#### Post date: [2025 年 6 月 6 日午前 7:22 UTC](https://guild.rpgmakerofficial.com/t/topic/62/3 "2025-06-06T07:22:38Z")

</div>

## ステップ 2: HP バーの作成

1. `gamescene` タブを開き、`UI` を選択します。  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/2/2cea83c8647b8e4c3eec76f0b080ef74d6672f26.png)
2. 新しいノードを追加します: `ImageGauge`。  
常に表示され、カメラのスクロールの影響を受けない UI 要素は、すべて `UI` の下に配置してください。  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/fb33f295088e0166d053ece8808a6f9c9759b4e3.png)
3. `ImageGauge` のプロパティを以下のように設定します:  
**Current Value** を `sampleplayer.hp` に、 **Max Value** を `sampleplayer.max_hp` に設定します。  
`Object_Sampleplayer.tscn` は `sampleobject` フォルダにあります。  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/4bab9660e35c2223815e47d9855d6d8c70ded8a6.png)
4. 次に、`ImageGauge` 内の `TextureProgressBar` のプロパティを設定します。  
**Nine Patch Stretch** を有効にし、 **Left Limit** と **Right Limit** を `10px` に設定します。  
これにより、バーの比率を崩さずにサイズ変更が可能になります。  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/281cc8886194e3fa6ef18235ab553293443c9f6b.png)
5. `ImageGauge` のテクスチャを設定します。  
`templates > objects > ui > interface > variation_02_Ornate` から画像を使用します:

- Under: `I_002_hp_horizontal_02.png`
- Progress: `I_002_hp_horizontal_03.png`  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/5ff550830e43da1b80fbe45043806894655ba84c.png)

1. `ImageGauge` のサイズを調整します。  
青枠で囲まれた領域が UI 表示領域です。ゲージをお好みのサイズに拡大縮小してください。  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/1254bae001c75c9fd0a911caa3f0fdc610d4e677.png)
2. ゲームをテストします。  
正しく設定されていれば、HP は白いバーとして表示され、ゾンビに攻撃されると減少します。
3. 次に、枠を追加します。  
`ImageGauge` の下に新しいノードを追加します: `NinePatchRect`。  
このノードは、Nine Patch 設定を使用して、比率を維持しながら伸縮する矩形を作成します。  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/66195518b76b6d3e9b9c51a072f6049757248266.png)
4. `NinePatchRect` のテクスチャを `I_002_hp_horizontal_01.png` に設定し、`Edit Region` ボタンをクリックします。  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/1c5011b64e32dab3fc8f7a9f6663bc3958fb8176.png)
5. Nine Patch エディタが開きます。  
画像に示されているように、 **黒と白のバー** （実線の白い線ではない部分）を調整します。  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/36e8a56f50099e3313683f24f9253f8ad1ddde0a.png)
6. サイズを変更し、HP バーの上に配置します。  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/1X/696f3396e7230a4c73ba25367a0fa48ab2244609.png)
7. HP バーの完成です！

* * *

## 注意事項

**バーの種類**  
`ImageGauge` の `Fill Mode` を変更することで、垂直や円形のゲージなど、さまざまな種類のバーを作成できます。  
`Tint` プロパティを使用して、バーの色を変更することも可能です。

**Nine Patch について**  
Nine Patch は、画像を 9 つの領域に分割し、歪みを避けるために比例して伸縮させる技術です。  
この方法は、メッセージウィンドウなどの作成にも役立ちます。

📘 **次の講座: パート 5**

> [@Tutorial: Script Course #5 - Let’s Create Scene Transitions](https://guild.rpgmakerofficial.com/t/topic/63?u=ggg-administrator):
>
> In this course, you will learn the basics of scripting in ACTION GAME MAKER. In Part 5, we will create scene transitions. Preparation Before Starting the Course You will continue using the same pro…
