チュートリアル:スクリプティングコース #2 – 敵を作成しよう

ステップ 2: 敵(ゾンビ)のスクリプトを作成する


  1. :scroll: + アイコンをクリックして新しいビジュアルスクリプトを作成します。
  2. 最初のステートをWalkにリネームし、アニメーションをゾンビの歩行アニメーション E_01_act_003 に設定します。
    また、デフォルト方向が右なので、**Facing Direction(向いている方向)を Left(左)**に設定します。

  1. Walk の**Executable Action(実行可能アクション)TemplateMove を追加します。
    テンプレートタイプは
    Horizontal(水平)**のままにしますが、**Auto Flip(自動反転)**を無効にします。これにより、ゾンビは時間経過ではなく壁に衝突した時のみ向きを変えます。

  1. ゲーム内でテストします。sample_zombie.tscnBaseLayer の子として配置します。
  2. F5を押すか、:play_button: をクリックしてテストプレイします。
    ゾンビが左に歩き、弾に当たると消えるはずです。もし動作しない場合は、以下を確認してください:
  • ゾンビが間違った方向に移動する: BaseSettings で「Enable Auto H Flip」が有効になっているか、および Walk ステートの方向が Left に設定されているか確認してください。
  • 弾がゾンビに当たっても消えない: 弾のスクリプトを確認し、衝突判定が正しく機能しているか確認してください。
  • ヒットしてもゾンビが死なない: これは正常な動作です。まだ死亡ステートが追加されていないためです。

  1. 次に**Damaged(被ダメージ)**ステートを作成します。
    AnyState の近くに Damaged という新しいステートを作成します。
    アニメーションを E_01_act_008(被ダメージアニメーション)に設定します。

  1. アクション設定で**水平移動速度を 10%**に減らします。
    これにより、被ダメージアニメーション中にゾンビの動きが遅くなります。

  1. 3 つのアクションを追加します:
  2. Play Audio(音声再生): 効果音として Zombie2 を使用します。
  3. Wait(待機): アニメーションが再生されるように 0.2 秒 の待機を挿入します。
  4. Transfer to Previous Action(前のアクションへ遷移): 前のステートに戻ります。

  1. AnyState → Damagedを接続します。
    AnyStateあらゆるステートからの遷移を許可し、「Transfer to Previous Action」は前のステートに戻ります。これは RPG Maker ユーザーにとっての「共通イベント」のようなものです。

  1. リンクに2 つの条件を追加します:
  2. Contact With Attack Area(攻撃エリアとの接触)
    Player からあらゆる方向からのヒットに反応するように設定します。
  3. HP ≠ 0
  • 対象:このノード
  • 条件の逆転:ON(つまり、HP=0 ではない)
  • 論理リンク:AND

  1. テストします。ゾンビはヒットするとうめき、よろめくはずです。5 回ヒットすると反応しなくなります。

もし動作しない場合:

  • ヒットに反応しない: HP 条件が逆転しているか、アニメーションが正しく設定されているか確認してください。
  • 5 回ヒット後も反応する: 論理条件がANDになっているか確認してください。

  1. 次に**Death(死亡)**ステートを作成します:
  • ステート名を Dead にし、アニメーションを E_01_act_009(死亡アニメーション)に設定します。
  • Horizontal Movement Speed(水平移動速度)を 0% に設定して移動を停止します。

  1. Dead3 つのアクションを追加します:
  2. Change Object Property(オブジェクトプロパティの変更)
  • タイプ:Object Property
  • 対象:Self(自分自身)
  • ノード:AttackCollision:warning: AttackArea2D ではありません)
  • プロパティ:disabled
  • 値:On
    → 死体からプレイヤーがダメージを受けないように当たり判定を無効にします。
  1. Wait(待機): アニメーションが再生されるように 0.85 秒 待機します。
  2. Remove Self(自分自身を削除)
    → ゾンビをゲームから削除します。

  1. AnyState → Deadを接続し、条件をHP = 0に設定します(今回は条件を逆転させないでください)。

  1. もう一度テストプレイします。ゾンビは最大 5 回うめき、よろめき、5 回目のヒットで死亡アニメーションを再生して消えるはずです。

何かが期待通りに動作しない場合は、リンク、ステート、条件を慎重に確認してください。


次のチュートリアル(パート 3):

「いいね!」 2