c# - 构建项目时出错 : Error building Player because scripts have compile errors in the editor

标签 c# unity3d tiled

我有 Tiled2Unity 插件。当我开始在 Unity 中构建我的游戏版本时,无论是独立版本还是其他任何版本,我都会收到以下错误,“构建播放器时出错,因为脚本在编辑器中存在编译错误”

然后它把我指向这个类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using UnityEditor;

namespace Tiled2Unity
{
    public class CircleObject : TmxObject
    {
    }
}

谁能帮我找出问题所在?

最佳答案

不能构建任何包含using UnityEditor;UnityEditor 中的类/API 的脚本命名空间。这就是为什么您应该将包含其中任何一个的任何脚本放在一个名为 Editor 的文件夹中。

当 Unity 构建您的项目时,它会忽略放置在该文件夹中的任何脚本,因为它将它们视为编辑器脚本或插件。

你有三个选择:

  1. 从您的脚本中删除 using UnityEditor;

  2. 将脚本放在名为 Editor 的文件夹中。

  3. 使用 Unity 的预处理器指令确定何时不使用 using UnityEditor;

    进行编译

    您可以通过替换:

     using UnityEditor;
    

     #if UNITY_EDITOR 
     using UnityEditor;
     #endif 
    

我会选择#2。为任何编辑器内容创建一个不同的脚本,并将其放在 Editor 文件夹中。请注意,在构建项目时,Unity 不会编译此文件夹中的任何脚本。此文件夹中的脚本只能在编辑器中运行。

关于c# - 构建项目时出错 : Error building Player because scripts have compile errors in the editor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42588709/

相关文章:

c# - Inspector 中分​​配的 Unity 值在代码中抛出 Null

c# - 如何避免在 ASP.NET 代码隐藏中编写困惑的 JavaScript?

c# - ClickOnce 部署中的 Crystal Reports

linux - Unity3D 项目向导项目列表存储在 Linux/Mac 上的什么位置?

unity3d - 如何让游戏响应所有移动分辨率

java - LibGDX 导入 TMX 文件

java - 如何使用 float 从 libGDX 中的单元格获取图 block 的位置?

c# - Swagger 显示错误的查询参数

c# - 为winforms中输入路径到输出路径的每个子目录创建一个7zip文件

javascript - HTML5 Tiled Map 将所有图 block 保存为图 block 集中的最后一个图 block