SurvivalShooter学习笔记(八.敌人管理器)

敌人管理器:管理敌人的随机出生点创建

在场景中建立几个空物体,作为敌人的出生点

public class EnemyManager : MonoBehaviour
    {
        public PlayerHealth playerHealth;       // 玩家生命脚本
        public GameObject enemy;                // 敌人物体预制,拖入或者动态加载
        public float spawnTime = 3f;            // 敌人出生间隔时间
        public Transform[] spawnPoints;         //出生点们,动态根据Tag或层获取,或者直接拖入

        void Start ()
        {
            // 每隔出生间隔时间重复调用 出生函数
            InvokeRepeating ("Spawn", spawnTime, spawnTime);//方法名 几秒后调用 每隔几秒再调用
        }

        void Spawn ()
        {
            // 玩家已死,不创建了
            if(playerHealth.currentHealth <= 0f)
            {
                return;
            }
            // 随机出生点索引;c#的Random.Range是前闭后开的,就是最小值可以取到而最大值取不到
            int spawnPointIndex = Random.Range (0, spawnPoints.Length);

            // 创建敌人(我们做项目一般最好记录存活敌人数量,超过一定数量就不创建了,如果地图大,运动范围广逃跑能力强,电脑会爆炸的)
            Instantiate (enemy, spawnPoints[spawnPointIndex].position, spawnPoints[spawnPointIndex].rotation);
        }
    }


本案例中有3种怪物:我们实现把敌人做成了预制,可以重复使用



转载于:https://www.cnblogs.com/caymanlu/p/6361684.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值