【Unity】敵にホーミング弾を打たせるようにする

Unity

敵さんにもこだわりたい

今回の記事では、前回作ったホーミング弾を敵に打たせるようにしたいと思います。

ゲームをしていると自分のキャラよりも敵を見ることの方が多いですよね。今回は、そんな思いから敵さんにホーミング弾を打ってもらって、ゲームのクオリティを高めて行きたいと思います!

敵になるオブジェクトを準備する

最初に準備するのが、敵になるオブジェクトですね。

今回は自分で作った敵キャラを使います。

次に、前回作った弾を生成するオブジェクトを制御するスクリプトを書いていきます。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BossAttackManager : MonoBehaviour
{
   public GameObject[] AttacksPrefab;
    int AttackNumber;
    float AttackChange;

    void Start()
    {
        AttackChange = 6.0f;
    }

  
    void Update()
    {
        BossAttack() ;
    }


    void BossAttack()
    {
        AttackChange -= Time.deltaTime;
        if (AttackChange <= 0.0f)
        {
            AttackChange = 6.0f;

            AttackNumber = Random.Range(0, AttacksPrefab.Length);

            Instantiate(AttacksPrefab[AttackNumber]);
        }
    }
}

このスクリプトを簡単に説明すると、「六秒ごとに攻撃をする」というものになっています。

では、スクリプトを敵にアタッチしましょう。

ここで、注目をしてほしいのがAttack Prefabです。

ここに弾を生成するオブジェクトの数分だけ入力し、オブジェクトを入れます。

これで、実行をすると

このように、六秒間隔でホーミング弾を打ってくるようになりました!

攻撃の種類を増やしてみる

せっかくなので、ほかにも攻撃をさせてあげましょう。

前回作ったように新しいホーミング弾をつくって…

はい!

次は、ボスにアタッチしたスクリプトのAttack Prefabを増やして、新しいホーミング弾を生成するオブジェクトを入れます。

これで実行をしてみると…

できました!

これで六秒間隔でランダムに攻撃をする敵が完成しました!

まとめ

いかがだったでしょうか?

前回のホーミング弾を使って敵に攻撃をさせるようにしました!敵に攻撃に応じてアニメーションをさせたり、効果音を出したりさせたらもっと良いものができそうですね。

この記事で何か役に立てたら幸いです。

コメント

タイトルとURLをコピーしました