如何在OnCollisionEnter Unity3D中添加等待



这是我正在使用的代码,我正试图在碰撞的东西里面添加等待,有人知道该怎么看或解决方案吗?我试着研究协程,并使用bool值来尝试这样做,但我无法弄清楚任何帮助或建议是感激的!

using UnityEngine;
using System.Collections;
public class SwordDetection : MonoBehaviour
{
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.tag == "Enemy")
{
collision.rigidbody.constraints = RigidbodyConstraints.None;
}
}
}

你可以在OnCollisionEnter()中调用协程来创建延迟。

一些示例代码:

private void OnCollisionEnter(Collision collision) {
StartCoroutine(DelayedAction());
// coroutines must be called from StartCoroutine()
}
private IEnumerator DelayedAction() {
yield return new WaitForSeconds(5);
print("I was printed after a delay of 5 seconds!");
}

我不确定这是否是您想要的,但您可以使用:

OnCollisionStay(Collision collision) { }

最新更新