Unity敌人生成点的代码
2017-07-17 09:22
295 查看
这段代码是放到一个空节点上
下面这段代码是放到你的敌人预制体上面
//玩家 GameObject m_Player; //出生点和玩家的位置距离 float m_Distance; //敌人的预支体 public Transform m_Enemy; //敌人生成的数量 public int m_EnemyCount = 0; //敌人生成最大数量 public int m_EnemyMax; //敌人生成的时间间隔 public float m_EnemyTime = 0; protected Transform m_transform; // Use this for initialization void Start () { m_transform = this.transform; m_Player = GameObject.FindGameObjectWithTag("Player"); } // Update is called once per frame void Update() { m_Distance = Vector3.Distance(gameObject.transform.position, m_Player.transform.position); //让玩家与出生点距离小于等于500时开始创建克隆 if (m_Distance <= 150) { //如果生成敌人的数量达到最大值 停止生成敌人 if (m_EnemyCount >= m_EnemyMax) { return; } //时间间隔 m_EnemyTime -= Time.deltaTime; //生成时间小于0时 if (m_EnemyTime <= 0) { //重置生成时间 m_EnemyTime = Random.Range(0, 5f); //生成敌人 Transform transformEnemy = (Transform)Instantiate(m_Enemy, m_transform.position, Quaternion.identity); //获取敌人脚本 Enemy enemy = transformEnemy.GetComponent<Enemy>(); //初始化敌人 enemy.Init(this, 1); } } else { return; } }
下面这段代码是放到你的敌人预制体上面
// 出生标志 protected EnemySpawn m_spawn; /// <summary> /// 每创建一个敌人,敌人数加1 /// </summary> /// <param name="spawn"></param> public void Init(EnemySpawn spawn,int a) { m_spawn = spawn; m_spawn.m_EnemyCount += a; }
相关文章推荐
- unity 快速生成ui代码工具
- unity开发炉石传说系列卡牌生成代码部分代码
- Unity 代码碎片敌人的AI
- Unity 实现转策划Execl文档,并根据Xml配置文件生成代码
- unity使用代码修改Texture属性,一键生成精灵
- Unity中,如何从代码中生成UI
- unity生成代码模板
- Unity 使用代码修改Texture属性 一键生成精灵
- (八)Unity5.0新特性------IL2CPP Internals: 生成的代码之旅
- unity位图字体character Rect自动生成代码(模版为xml )
- 【Unity编辑器】Unity基于模板生成代码的原理与应用
- 【Unity】生成敌人并添加血条
- 关于Unity中Mecanim动画的动画状态代码控制与代码生成动画控制器
- Unity基于模板生成代码的原理与应用
- Unity修改自动生成的代码模板
- 5.使用 unity GUI代码生成按钮
- Unity生成Tag枚举代码
- unity使用代码修改Texture属性,一键生成精灵
- mybatis逆向工程生成代码
- php编写批量生成不重复的卡号密码代码