在某个固定范围内产生物体

示例为在某一个被拉伸的cube范围内生成箱子,
a.实例化的预制体放在Resources/Perfabs文件夹下,通过动态加载
b.每隔3秒加载一个箱子,当箱子数字大于maxnum时不加载

  //箱子预制体
    private GameObject xiangzi_prefab;
    //场景中箱子的最大数量
    private int max_xiangziNumber = 10;
    //下一次克隆箱子的时间
    private float m_NextCloneTime = 0f;
    //当前场景中箱子的数量
    private int current_xiangziNumber = 0;
    //克隆箱子生成位置的物体范围
    public GameObject transCreatBox;
    void Start ()
    {
        xiangzi_prefab = Resources.Load("Prefabs/xiangzi")as GameObject;
    }
    void Update ()
    {
       if(current_xiangziNumber <max_xiangziNumber )
        {
            if(Time .time >m_NextCloneTime)
            {
                m_NextCloneTime = Time.time  + 3f;
                GameObject objclone = Instantiate(xiangzi_prefab) as GameObject;
                objclone.transform.position = transCreatBox.transform.TransformPoint(new Vector3(Random.Range(-0.5f, 0.5f), 0, Random.Range(-0.5f, 0.5f)));
            }
        }
    }

猜你喜欢

转载自blog.csdn.net/qq_36274965/article/details/79458000