【问题标题】:Unity Character Controller Script bugUnity 角色控制器脚本错误
【发布时间】:2016-01-04 12:27:21
【问题描述】:

我正在使用统一脚本参考中的脚本: http://docs.unity3d.com/ScriptReference/CharacterController.Move.html

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public float speed = 6.0F;
    public float jumpSpeed = 8.0F;
    public float gravity = 20.0F;
    private Vector3 moveDirection = Vector3.zero;
    void Update() {
        CharacterController controller = GetComponent<CharacterController>();
        if (controller.isGrounded) {
            moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
            moveDirection = transform.TransformDirection(moveDirection);
            moveDirection *= speed;
            if (Input.GetButton("Jump"))
                moveDirection.y = jumpSpeed;

        }
        moveDirection.y -= gravity * Time.deltaTime;
        controller.Move(moveDirection * Time.deltaTime);
    }
}

但问题是,当我构建它时,它会显示以下错误

有什么解决办法吗?

【问题讨论】:

  • 其他脚本是否正常工作,或者在使用 UnityEngine 时都报错; ?
  • 您是否尝试过清理和重建?如果做不到这一点,请删除资产并重新导入,但如果 Unity 无法找到它自己的命名空间,那么它就很终端了。如果你从你的对象/预制中删除脚本,你能编译和运行吗?
  • Unity 自动构建保存的脚本。你不必建造任何东西。外部编辑器可能不知道 Unity 正在使用的所有程序集,并且尝试在其中构建代码是不必要的,并且可能会失败。所以我不确定这里是否存在实际问题,除非你说它在 Unity 中也不起作用。
  • 是的。JavaScript 没问题,没问题。由于消息修复错误,C# 脚本无法附加游戏对象。
  • 向我们展示您在 Unity 控制台中遇到的错误。这些很重要,也很有启发性。如果它们与您显示的相同,则说明您的安装有问题。

标签: unity3d scripting


【解决方案1】:

我看到的唯一解决方案是使用 Visual Studio 2015,因为 MonoDevelop 在上一个 Unity 版本中的效果很糟糕。但随后 JavaScript 将无法工作。顺便说一句,从 Unity 5.3 开始,可以通过 Unity 安装程序安装 VS2015 Community。

【讨论】:

    【解决方案2】:

    如果您在 Unity 中添加新/移动脚本,有时会发生这种情况(在 Visual Studio 中也是如此)。

    到目前为止,我找到的唯一解决方案是关闭 Unity 和编辑器,转到硬盘上的文件夹并删除 *.csproj 和 evtl。 *.sln 文件。
    (在最坏的情况下,您也可以尝试删除同样由 Unity 构建的 Library 文件夹)

    然后重新启动 Unity 和编辑器。现在它应该重新构建项目并正确解析。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-07-17
      • 1970-01-01
      • 1970-01-01
      • 2016-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多