参数在 PlayMode (Unity) 中消失

问题描述

我是个菜鸟。 有一个一个解决不了的问题,希望大家帮帮我,原来每次进入unity playmode,一个脚本的参数都消失了。不知道是因为我的剧本还是别的什么。无论如何,我将我的项目截图和有问题的脚本留给您。预先非常感谢您。

enter image description here

enter image description here

enter image description here

当我按下“Atacar”按钮时,出现以下错误

解决方法

您的问题是在 Start() 您试图获取不存在的组件 GameObject。您已经拥有 GameObject 引用,而 GameObjects 没有组件 GameObjects。组件是游戏对象的一部分,但游戏对象不能有游戏对象组件。

如果您删除当前的 Start() 函数,当您点击 Play 时,对象不应消失。

当您尝试在您引用的对象上获取组件时,您只需要使用 GetComponent 方法。例如,如果您想获得对游戏对象上的 Sprite Render 的引用并且不想创建公共变量,则可以使用 GetComponent<SpriteRenderer>() 获得该引用。

如果您仍然对 Component 到 GameObject 关系的整体概念感到困惑,您可以查看 official docsanother useful Unity post