gpt4 book ai didi

c# - Unity C# StartCoroutine() 在销毁对象中

转载 作者:行者123 更新时间:2023-11-30 14:45:17 25 4
gpt4 key购买 nike

我在带有 C# 的 Unity 中有这个脚本,协程不工作的时间,forwardForce = 10f 的第二行没有被调用:

using UnityEngine;
using System.Collections;

public class SlowPickup : MonoBehaviour
{
public float waitTime = 2f;

private IEnumerator DecreaseSpeed ()
{
GameObject.Find("Player").GetComponent<PlayerMovement>().forwardForce = 1f;
yield return new WaitForSeconds(waitTime);
GameObject.Find("Player").GetComponent<PlayerMovement>().forwardForce = 10f;
}

void OnTriggerEnter ()
{
Destroy(gameObject);
StartCoroutine(DecreaseSpeed());
}

}

最佳答案

您正在破坏托管协程的 GameObject,这将破坏协程,导致它无法完成。您将希望在协程结束时销毁 GameObject,或使用静态协程管理器。

关于c# - Unity C# StartCoroutine() 在销毁对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54312022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com