zoukankan      html  css  js  c++  java
  • 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种怪物:我们实现把敌人做成了预制,可以重复使用



  • 相关阅读:
    linux centos 安装配置rsync
    linux下mysql权限配置
    让nginx支持patchinfo,(支持codeigniter,thinkphp,ZF等框架)
    nginx、php-fpm安装mongodb及驱动扩展
    redis和redis php扩展安装
    sea.js 入门
    require.js 入门笔记
    怎么玩耍图标字体.
    利用 Gulp 处理前端工作流程
    LESS 学习记录(简单入门)
  • 原文地址:https://www.cnblogs.com/caymanlu/p/6361684.html
Copyright © 2011-2022 走看看