我需要摧毁一个对象,在我的例子中,"Player2“女巫与" Player1”在同一个场景中,然后在Player1位置之后,x就过去了"baraj".position.x reapear。基本上我怎么才能做一个暂时的毁灭方法。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class switchCameras2 : MonoBehaviour
{
public GameObject baraj;
public GameObject CameraOne;
public GameObject CameraTwo;
public GameObject Player1;
public GameObject Player2;
public void Start()
{
CameraOne.SetActive(true);
CameraTwo.SetActive(false);
}
void Update()
{
if (GameObject.Find("Player1").transform.position.x > GameObject.Find("baraj").transform.position.x)
{
CameraTwo.SetActive(true);
CameraOne.SetActive(false);
}
if (GameObject.Find("Player1").transform.position.x < GameObject.Find("baraj").transform.position.x)
{
Destroy(Player2);
}
if (GameObject.Find("Player1").transform.position.x > GameObject.Find("baraj").transform.position.x)
{
Destroy(Player1);
}
}
}
发布于 2022-07-17 23:11:28
如果您想要Destroy
,那么您应该使用Instantiate
方法创建一个新的。如果您不想使用Destroy
,一种替代方法是使用SetActive
(比如这个Player1.SetActive(false);
)禁用它,然后像这个Player1.SetActive(true);
那样启用它
发布于 2022-07-18 03:53:52
尝试创建一个名为"U“的新GameObject变量。然后在销毁之前或开始时做U=Player2.ameObject;现在假设您销毁了它并想要产卵。为此,我们执行player2 = U.gameObject;实例化(Player2);
将产生第二名玩家。
但是,正如在另一个答案中提到的,.SetActive(false);会使事情变得更容易。无论如何,如果你仍然想使用破坏,那就是如何做到这一点。祝好运
https://stackoverflow.com/questions/73015932
复制相似问题