【发布时间】:2020-07-09 14:01:01
【问题描述】:
在击中后墙时试图摧毁玩家。它适用于玩家从“球”开始就在场景中
但它不会破坏球的克隆,Debug.Log 仍然像第一次一样运行,每次它撞到墙上所以它被调用,但为什么它不破坏对象? ballClone 它是一个预制件。
有什么建议吗?
public class BackWall : MonoBehaviour
{
public GameObject ball;
public static bool playerDestroyed = false;
public GameObject ballClone;
public void Spawn()
{
GameObject playerclone = Instantiate(ballClone, new Vector3(-1.5f, 1.1f, -8f),
Quaternion.identity);
playerDestroyed = false;
Destroy(ballClone, 10);
StartCoroutine(waittoDestroy(7));
}
IEnumerator waittoDestroy(float time)
{
yield return new WaitForSeconds(time);
playerDestroyed = true;
}
public void OnCollisionEnter (Collision other)
{
if (other.gameObject.tag == "Player")
{
Destroy(ball);
Destroy(ballClone);
playerDestroyed = true;
Debug.Log("Ball should be destroyed");
}
}
}
【问题讨论】: