c# - 在销毁最后一个克隆 c# 后,如何加载下一个级别

标签 c# unity3d clone counter destroy

我几乎完成了我的游戏,但我只停留在一个部分。我必须执行一些声明,说明当最后一个克隆被销毁时,下一个级别被加载。除了我不知道该怎么做。我有一个重生器,它可以生成大约 20 个球体的克隆体,当我与它们碰撞时,它们就会消失。摧毁 20 个分身后,我想进入下一关。谁能帮帮我?

这是我的重生器:

using UnityEngine;
using System.Collections;

public class spawner : MonoBehaviour 
{
    public GameObject objectToSpawn;
    public int numberOfEnemies;
    private float spawnRadius = 5;
    private Vector3 spawnPosition;
    // Use this for initialization

    void Start ()
    {
        SpawnObject();  
    }

    void Update () {}

    void SpawnObject() 
    {
        for (int i= 0; i < numberOfEnemies; i++)  
        { 
            spawnPosition = transform.position + Random.insideUnitSphere * spawnRadius; 
            Instantiate(objectToSpawn, spawnPosition, Quaternion.identity);
        }
    }
}

这是我的 BoxDestroy:

using UnityEngine;
using System.Collections;

public class BoxDestroy : MonoBehaviour 
{   
    void OnTriggerEnter(Collider collider)
    {
        if (collider.gameObject.tag == "Player") 
        {
            Destroy(gameObject);
        }
    } 
}

感谢任何帮助。

最佳答案

  1. Enemy 或任何您想要的领域创建标签。
  2. BoxDestroy 类中,在销毁对象之前,计算剩余对象的数量,如果等于 1,则加载另一个场景:

    using UnityEngine;
    using System.Collections;
    
    public class BoxDestroy : MonoBehaviour 
    {   
        void OnTriggerEnter(Collider collider)
        {
            if (collider.gameObject.tag == "Player") 
            {
    
                GameObject[] remainingObj = GameObject.FindGameObjectsWithTag("Enemy");
                if (remainingObj.Length == 1)
                {
                    Application.LoadLevel("name of level you want to load");
                }
    
                Destroy(gameObject);
            }
        } 
    }
    

关于c# - 在销毁最后一个克隆 c# 后,如何加载下一个级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33769063/

相关文章:

javascript - 有没有办法使用 jquery 克隆表的列?

c# - Entity Framework 、ASP.NET、缺少上下文

c# - 在使用 Fluent NHibernate 映射时对接口(interface)进行编程

GWT Overlay 深拷贝

unity3d - 如何为 Vuforia/Unity 创建 AR 标记?

c# - “The name '来源' does not exist in the current context [Assembly-CSharp]”,

javascript - 将 Map 复制到现有 Map 的最高效方法

c# - Lambda 表达式 "IN"运算符存在?

c# - 如何将特定数据从一个 View 传输到另一个 View

unity3d - 使用碰撞在生成后销毁预制对象