# 【学习分享】无代码实现随机生成敌人【学習共有】コードなしで敵をランダムに生成する\[Learning and Sharing\], Implementing Random Enemy Generation Without Code

**URL:** <https://guild.rpgmakerofficial.com/t/topic/660>\
**Category:** 一般\
**Tags:** 日本語, english, 中文\
**Created:** [2025 年 8 月 2 日午前 6:20 UTC](https://guild.rpgmakerofficial.com/t/topic/660 "2025-08-02T06:20:57Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![serbow](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/serbow/32/1013_2.png) [@serbow](https://guild.rpgmakerofficial.com/u/serbow)\
**Post date:** [2025 年 8 月 2 日午前 6:20 UTC](https://guild.rpgmakerofficial.com/t/topic/660/1 "2025-08-02T06:20:57Z")

</div>

注釈：

AGM の更新バージョン V 1.0.17 に基づき、コード不要で敵をランダム生成する機能を実装

手順：

1. ゲームシーン（メインシーン）とゲームオブジェクト（敵）を作成する
2. メインシーンで、サブオブジェクト（敵生成器）を作成します。（重力を解除し、衝突ボックスをオフにしてください。）

 ![504be4f9-b341-4e8a-b0a4-a6305a9b5721](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/6/68c0df1a5f860a07eb3833cb96c57028fb2d631d.png)

1. プロジェクトデータベースに 2 つのプロジェクト変数を設定します：ランダム X 座標、ランダム Y 座標。

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

1. サブオブジェクト「敵生成器」にイベントスクリプトを記述する。  
（1）変数の値を設定する

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

「ランダム X 座標」変数を修正し、ランダム数にし、範囲を画面内に収めるように設定する。

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

カメラの位置を修正し、画面の初期位置と一致させるように注意してください。そうでないと、生成されるオブジェクトの範囲に対応して負数調整が必要となり、生成される敵が画面の外に出てしまう可能性があります。

（2）イベントスクリプトの状態機械を作り始める。

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

最初の状態は、ランダム座標に設定されており、接続時にイベントを設定し、最初のオブジェクトを生成してオブジェクトの属性を設定できます。

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

設定対象パスを設定し、生成位置を「GLOBAL\_POSITION」、座標を先ほど生成したランダム座標変数とする。

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

状態マシンのクローズドループを構築し、動作を複製し、接続線を複製し、一定間隔で敵を生成する自動ループ操作を実現しました。（特に注意すべきは、最初のオブジェクトを生成するイベントで、AGM が新しいランダム座標に再定位できるように X,Y のランダム変数座標を一度再設定し、以降は毎回生成するたびに座標を変更することです。）

 ![118a2320028027fa41b39018dd391390](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/4/47fb242fda9c8d342b4385e5bcaff9fae9ea37c1.png)

最後：制作完了、F5 テスト！

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