プレイヤーのダメージ処理を作る

敵を作る前に、まずプレイヤーへのダメージ処理を作っておきます。
敵の攻撃イベントから呼び出されるプレイヤーHPの増減と死亡判定の処理です。

変数は画像のように定義しておきます。

コモンイベントにて、画像のように設定。

↑変数0017「敵攻撃力」は次の項で使います。


↑死亡時のピクチャ演出は自分の好みで設定。


↑この処理、不要だと感じる方もいるかと思われますが、"プレイヤー死亡後のグラフィック変更は一切受け付けない"ようにするためにも必要です。
 例えば、構え動作と死亡時が重複した場合など。


敵を作る

次に敵クリーチャーのゾンビを作っていきます。
ゾンビのイベント構成は次のようになっています。

ページ番号 1 2 3 4 5 6
内容 ダメージ(当たり判定から呼び出す) 徘徊・行動決定 攻撃 イベント中停止 死亡 死亡後イベント削除

(イベントページは起動条件を満たし中でもっとも番号の大きいものが処理されます)

1ページ目【ダメージ】

ゲーム中起動せず、コモンイベント「当たり判定」から処理だけ呼び出されるページです。

敵がダメージを受けたときの処理なのでアニメやSEを表示しておきます。

2ページ目【徘徊・行動決定】

+ コード クリックで表示
◆注釈:================================================================================
:  : 徘徊・行動決定
:  :================================================================================ 
◆変数の操作:#0011 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0012 プレイヤーY = プレイヤーのマップY
◆変数の操作:#0013 ゾンビ1X = このイベントのマップX
◆変数の操作:#0014 ゾンビ1Y = このイベントのマップY
◆注釈:↑ゾンビを複製するときは変数も別にすること。
◆条件分岐:このイベントが下を向いている
 ◆変数の操作:#0014 ゾンビ1Y -= プレイヤーY
 ◆条件分岐:ゾンビ1X = プレイヤーX
   ◆条件分岐:ゾンビ1Y = -1
     ◆ラベルジャンプ:1番
     ◆
   :分岐終了
   ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:このイベントが左を向いている
 ◆変数の操作:#0013 ゾンビ1X -= プレイヤーX
 ◆条件分岐:ゾンビ1Y = プレイヤーY
   ◆条件分岐:ゾンビ1X = 1
     ◆ラベルジャンプ:1番
     ◆
   :分岐終了
   ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:このイベントが右を向いている
 ◆変数の操作:#0013 ゾンビ1X -= プレイヤーX
 ◆条件分岐:ゾンビ1Y = プレイヤーY
   ◆条件分岐:ゾンビ1X = -1
     ◆ラベルジャンプ:1番
     ◆
   :分岐終了
   ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:このイベントが上を向いている
 ◆変数の操作:#0014 ゾンビ1Y -= プレイヤーY
 ◆条件分岐:ゾンビ1X = プレイヤーX
   ◆条件分岐:ゾンビ1Y = 1
     ◆ラベルジャンプ:1番
     ◆
   :分岐終了
   ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:永久OFFがON
 ◆ラベル:1番
 ◆注釈:攻撃開始
 ◆移動ルートの設定:このイベント (ウェイト)
 :        :◇画像:!職員ゾンビ(1)
 ◆セルフスイッチの操作:A = ON
 ◆
:分岐終了

移動ルートの設定

2ページ目はメインとなる処理です。
このゾンビとプレイヤーの位置関係を把握し、向いている方向に隣接していたらセルフスイッチAを押し攻撃に移ります。
ゾンビを複製する場合はHPや座標などの変数を個体別に定義しましょう。
これを怠るとゾンビHPが共有されたり座標が正しく変数に格納されない場合があります。

3ページ目【攻撃】

+ コード クリックで表示
◆注釈:================================================================================
:  : 攻撃モーション
:  :================================================================================ 
◆移動ルートの設定:このイベント (ウェイト)
:        :◇SE:zombie_attack2 (100, 100, 0)
:        :◇ウェイト:6フレーム
:        :◇画像:!職員ゾンビ(3)
◆変数の操作:#0011 プレイヤーX = プレイヤーのマップX
◆変数の操作:#0012 プレイヤーY = プレイヤーのマップY
◆変数の操作:#0013 ゾンビ1X = このイベントのマップX
◆変数の操作:#0014 ゾンビ1Y = このイベントのマップY
◆注釈:↑ゾンビを複製するときは変数も別にすること。
◆条件分岐:このイベントが下を向いている
 ◆変数の操作:#0014 ゾンビ1Y -= プレイヤーY
 ◆条件分岐:ゾンビ1X = プレイヤーX
   ◆条件分岐:ゾンビ1Y = -1
     ◆ラベルジャンプ:1番
     ◆
   :分岐終了
   ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:このイベントが左を向いている
 ◆変数の操作:#0013 ゾンビ1X -= プレイヤーX
 ◆条件分岐:ゾンビ1Y = プレイヤーY
   ◆条件分岐:ゾンビ1X = 1
     ◆ラベルジャンプ:1番
     ◆
   :分岐終了
   ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:このイベントが右を向いている
 ◆変数の操作:#0013 ゾンビ1X -= プレイヤーX
 ◆条件分岐:ゾンビ1Y = プレイヤーY
   ◆条件分岐:ゾンビ1X = -1
     ◆ラベルジャンプ:1番
     ◆
   :分岐終了
   ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:このイベントが上を向いている
 ◆変数の操作:#0014 ゾンビ1Y -= プレイヤーY
 ◆条件分岐:ゾンビ1X = プレイヤーX
   ◆条件分岐:ゾンビ1Y = 1
     ◆ラベルジャンプ:1番
     ◆
   :分岐終了
   ◆
 :分岐終了
 ◆
:分岐終了
◆条件分岐:永久OFFがON
 ◆ラベル:1番
 ◆注釈:主人公ダメージ
 ◆変数の操作:#0016 敵攻撃力 = 10
 ◆SEの演奏:喰う (100, 100, 0)
 ◆アニメーションの表示:プレイヤー, !血しぶき[小]
 ◆コモンイベント:主人公ダメージ
 ◆
:分岐終了
◆ウェイト:18フレーム
◆セルフスイッチの操作:A = OFF
※必ずセルフスイッチAを起動条件にすること!
※隣接判定方法は2ページの処理と全く同じです。コピペしちゃいましょう。
このページだけ移動速度を上げておくことでゾンビが飛びつくような動きが作れます。

4ページ目【イベント中停止】


会話シーン中や、プレイヤーが死亡したときは敵の動きを止める必要があります。
イベント中はスイッチ0006「イベント中」をONにし続けましょう。

5ページ目【死亡】

+ コード クリックで表示
◆注釈:================================================================================
:  : 死亡
:  :================================================================================ 
◆SEの演奏:zombie_end1 (100, 100, 0)
◆移動ルートの設定:このイベント (ウェイト)
:        :◇ウェイト:30フレーム
:        :◇不透明度:200
:        :◇ウェイト:2フレーム
:        :◇不透明度:150
:        :◇ウェイト:2フレーム
:        :◇不透明度:100
:        :◇ウェイト:2フレーム
:        :◇不透明度:50
:        :◇ウェイト:2フレーム
:        :◇不透明度:0
◆セルフスイッチの操作:B = ON
1ページのダメージ処理で加算される変数0015「ゾンビ1HP」が50以上になったら倒れる処理です。

6ページ目【死亡後イベント消去】


以上の手順でプレイヤーのダメージ処理とゾンビを作ることができました。
仕組みを理解し応用(例えば攻撃の種類を増やすなど)すればハンターやタイラントも作れるようになります。

座標取得のためにいちいち敵の個体別にゲーム変数を定義するのが面倒な場合はスクリプトを活用することでこの手順を省くことができます。
最終更新:2024年03月22日 20:38