c# - 在 Unity 引擎的 C# 脚本中显示 CS1002 和 CS0116 错误

标签 c# unity3d

enter image description here我已经按照有关如何从 YouTube 制作 Brackeys 游戏的教程进行操作,但我一直停留在第 1 号视频上。 7 我不知道如何解决这个问题。请帮忙。

link to tutorial

密码是7:36

using UnityEngine;
using UnityEngine UI;

public class Score : MonoBehaviour
{
       public Transform player;
       public Text scoreText;

       void Update()
       {
            scoreText.text = player.position.z.ToString("0");
        }
}

最佳答案

首先,检查代码的第二行。 using UnityEngine UI; 似乎缺少 UnityEngineUI 之间的句点。我相信这是您问题的核心,并导致弹出其他两个错误。该行应该是 using UnityEngine.UI;

无论如何,这里有一个关于如何找出像这样的问题的路径的解释。

有关您的两个错误代码的信息,请参阅以下两个链接。请记住,这些始终可以通过快速 Google 搜索获得:

  • CS1002 : 此错误表示您缺少分号 (;)。我C#,几乎所有行的末尾都需要分号。查看您的代码,缺少的分号不在这个特定的代码块中,因此它一定在您代码的其他地方。要找到它,最简单的方法是转到 Unity 控制台窗口并双击错误行或在消息中查找脚本位置和行号。这些中的任何一个都应该让您接近缺少分号的位置。
  • CS0116 : 此错误表示命名空间包含类、结构或其他命名空间以外的内容。这意味着您的代码结构存在缺陷。再次转到错误并查看是否可以找到包含此脚本的脚本。然后检查结构并确保没有任何区域像方法一样落在您的类之外(这很常见并且会意味着您将方法直接放入命名空间,这将导致 CS0116。

希望这对您有所帮助!

编辑:再多考虑一下这里的逻辑,100% 是第二行。想象一下编译器将如何解释它。当你错过那段时间时,它真正看到的是“两条线”

using UnityEngine
UI;

所以它看着这个并说两件事:

  1. 使用 UnityEngine 后你少了一个分号
  2. 你要在你的类之前在命名空间区域做一些不允许的事情

想想为什么它会告诉您这两个错误,这很有趣。

关于c# - 在 Unity 引擎的 C# 脚本中显示 CS1002 和 CS0116 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61743875/

相关文章:

c# - 使用加速度计环顾四周 - Unity3D C#

c# - 将 Sprite 对象数组组合成一个 Sprite - Unity

windows - Firebase Unity 是否支持 Windows UWP 或 Windows 10 应用程序?

c# - 在哪里设置静态成员的属性?

c# - 如何用手指在 Canvas 上绘画?

unity3d - 在 Unity 5 中缩放 PNG? - 赏金

c# - 统一构建&运行项目后出现蓝屏

C# 代数线性库

c# - AutoMapper 5 自定义值解析器 "Cannot convert expression type X to return type Y"

c# - 在 Windows 服务中使用 Rx