Advertisement

Unity3d 2017.3 AI(2) 更新敌人数据

阅读量:

从实际角度分析,对于诸如小怪、子弹等大量重复出现的克隆体,采用对象池机制无疑是最佳选择。然而,在当前的场景中,所需敌人数量极少,仅需同时存在两个即可,因此完全没有必要引入对象池。在这种情况下,直接编写一个脚本来实现敌人的刷新即可满足需求。整个代码中唯一的难点或许在于如何检测场景中当前存在的敌人数量。为了避免使用一个int类型的变量作为计数器,从而在敌人被销毁时传递数值带来的耦合问题,我决定在场景中创建一个空物体,并将脚本挂载到该空物体上。所有克隆出的小怪均作为该空物体的子物体存在,进而通过统计空物体的子对象数量的方式来判断是否需要刷新新的敌人。

复制代码
 using System.Collections;

    
 using System.Collections.Generic;
    
 using UnityEngine;
    
  
    
 public class EnemyObjectPool : MonoBehaviour
    
 {
    
     public GameObject ParentEnemy;//所有克隆出来的enemy都放置在此对象下
    
     public GameObject[] Enemy;//存储敌人预制体的数组
    
     public Transform[] Bo

全部评论 (0)

还没有任何评论哟~