【发布时间】:2021-11-18 18:44:37
【问题描述】:
我有一个问题,当我将场景从菜单更改为游戏时,当我单击时,我会收到错误消息“'GameObject' 类型的对象已被破坏,但您仍在尝试访问它。”当菜单控制器不在游戏场景中时发生这种情况,过去几天我一直在努力修复它,但找不到解决方法。如果有人可以提供帮助,那就太好了
我们也有一个类似的脚本,它具有相同的代码,只是为了交互而不是场景切换,所以当我们尝试与某些东西交互时,我们会收到错误
感谢您的帮助。
菜单控制器
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;
using UnityEngine.SceneManagement;
using API;
public class MenuController : MonoBehaviour
{
[SerializeField] private InputActionReference shoot;
[SerializeField] private InputActionReference shoot2;
public GameObject sendObject;
public GameObject sendObject2;
public float range = 1000;
void Start()
{
shoot.action.performed += Shoot;
}
async void Shoot(InputAction.CallbackContext obj)
{
RaycastHit hit;
if (Physics.Raycast(sendObject.transform.position, sendObject.transform.forward, out hit, range))
{
SceneManager.LoadScene("SampleScene");
}
}
}
【问题讨论】:
-
代码行太多了。将您的代码示例减少到有缺陷的部分并告诉我们您的错误发生在哪一行,而不是扔掉所有代码让我们自己挖掘
-
我减少了代码现在更好理解了