第一种 需要删除的物体有父级物体且父级物体设置了DontDestroyOnLoad
就像这样,我的Robbie设置了DontDestroyOnLoad但是在Robbie下的子物体,也就是用PlayerHealth中的DathVFXPrefab实例化出来的DeathPos(Clone)是需要删除的。
在我的项目中,我不希望游戏重载当前场景的时候删除,我只需要它在通关,载入下一个场景的时候删除即可。
于是我们可以直接在你挂载的子物体上,我这里是PlayerHealth中来写
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class PlayerHealth : MonoBehaviour
{
public GameObject deathVFXPrefab;
private GameObject[] Sons;
int trapsLayer;
private void Start()
{
trapsLayer = LayerMask.NameToLayer("Traps");
}
private void OnTriggerEnter2D(Collider2D collision)
{
//判断当玩家触碰到过关的区域时
if(collision.gameObject.tag == "Win")//这里的条件可以根据自己的实际需要来修改
{
//使子物体