gpt4 book ai didi

c# - 为什么 FindObjectOfType(MyType) 找不到任何东西?

转载 作者:太空宇宙 更新时间:2023-11-03 12:55:03 26 4
gpt4 key购买 nike

为什么会得到如下日志?

  • 启动OpponentMotionReceiver
  • 未找到运动接收器
  • 正确

    public class ScoreAnimation : MonoBehaviour
{
private OpponentMotionReceiver cachedObject;

private void Start()
{
cachedObject = FindObjectOfType<OpponentMotionReceiver>();
}

private void OnDestroy()
{
var motionReceiver = FindObjectOfType<OpponentMotionReceiver>();

if (motionReceiver == null)
{
Debug.Log("motion receiver not found");
}

if(cachedObject != null)
{
//prints true, another proof that the gameObject is active
Debug.Log(cachedObject.gameObject.activeInHierarchy);
}
}
}

public class OpponentMotionReceiver : MonoBehaviour
{
private void Start()
{
Debug.Log("Start OpponentMotionReceiver");
}

private void OnDisable()
{
Debug.Log("OnDisable OpponentMotionReceiver");
}

private void OnDestroy()
{
Debug.Log("OnDestroy OpponentMotionReceiver");
}
}

附言这是代码的极其简化的版本,因此其余部分不会造成混淆。如果您需要更多详细信息,我很乐意回答您!

最佳答案

改变场景。只有在那个时候团结才会表现得那样。无论我们正在寻找的对象是否处于事件状态,简单的 FindObjectOfType 在游戏周期的这一点上不起作用。

来自 https://gamedev.stackexchange.com/a/112783/59620

关于c# - 为什么 FindObjectOfType(MyType) 找不到任何东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34197773/

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