问题描述
我是个菜鸟。 有一个我一个人解决不了的问题,希望大家帮帮我,原来每次进入unity playmode,一个脚本的参数都消失了。不知道是因为我的剧本还是别的什么。无论如何,我将我的项目截图和有问题的脚本留给您。预先非常感谢您。
当我按下“Atacar”按钮时,出现以下错误。
解决方法
您的问题是在 Start()
您试图获取不存在的组件 GameObject。您已经拥有 GameObject 引用,而 GameObjects 没有组件 GameObjects。组件是游戏对象的一部分,但游戏对象不能有游戏对象组件。
如果您删除当前的 Start()
函数,当您点击 Play 时,对象不应消失。
当您尝试在您引用的对象上获取组件时,您只需要使用 GetComponent 方法。例如,如果您想获得对游戏对象上的 Sprite Render
的引用并且不想创建公共变量,则可以使用 GetComponent<SpriteRenderer>()
获得该引用。
如果您仍然对 Component 到 GameObject 关系的整体概念感到困惑,您可以查看 official docs 或 another useful Unity post。