UNITY-名称“ AssetDatabase”在当前上下文中不存在

时间:2019-04-02 16:44:54

标签: unity3d

尝试统一使用游戏时收到以下错误:

  

名称id="input input_text"在当前上下文中不存在

任何人都可以帮忙。.我将感谢您能提供的所有帮助..谢谢

  

构建完成,结果为“失败”   UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

     

UnityEditor.BuildPlayerWindow + BuildMethodException:5个错误
  在C:\ buildslave \ unity \ build \ Editor \ Mono \ BuildPlayerWindowBuildMethods.cs:187中的UnityEditor.BuildPlayerWindow + DefaultBuildMethods.BuildPlayer(BuildPlayerOptions选项)[0x0021f]下
  在C:\ buildslave \ unity \ build \ Editor \ Mono \ BuildPlayerWindowBuildMethods.cs:94中的UnityEditor.BuildPlayerWindow.CallBuildMethods(布尔askForBuildLocation,BuildOptions defaultBuildOptions)[0x0007f]   UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()

2 个答案:

答案 0 :(得分:1)

似乎在您的一个脚本中,您使用了AssetDatabase命名空间中的UnityEditor。它仅存在于Unity编辑器内部。

在构建中,命名空间UnityEditor不存在->您不能在构建的应用程序中使用任何命名空间!


因此,在意识到这一点之后,基本上有了一些解决方案,例如,在使用例如定制编辑器脚本或某些代码块,它们仅应存在于Unity Editor中,而不能存在于构建中:

  1. 请确保所有仅 个编辑器脚本的脚本都放置在名为Editor的文件夹中。 Unity会自动排除构建中的那些。

  2. 或将#if pre-processorUNITY_EDITOR一起使用:

    #if UNITY_EDITOR
        using UnityEditor;
    #endif
    
    ...
    
    #if UNITY_EDITOR
        //some code here that uses something from the UnityEditor namespace
    #endif
    

答案 1 :(得分:0)

使用下面的代码,它会正常工作。确保您的文件位于“资源”文件夹中。添加不带文件扩展名的名称。此解决方案适用于所有情况。

Object[] GetSprites(string fileName)
{
    Object[] sprites = Resources.LoadAll(fileName);
    return sprites;
}