Unity 4.6资产未在Windows 8.1导出中应用

时间:2015-01-20 09:01:18

标签: unity3d windows-8.1

我正在制作一款游戏,我需要根据玩家的选择在运行时更改其主题。这是改变背景图像的一大块代码:

    string path;
    string themeName;
    themeName = PlayerPrefs.GetString("Theme_Name");

    //Change Background Image
    path = "Assets/Textures/" + themeName + "/Background.jpg";
    Background_Image.GetComponent<Image>().sprite = Resources.LoadAssetAtPath<Sprite>(path);

这在Unity中完美运行,但是当我导出Windows 8.1游戏时,没有图像应用于背景。变量&#39;路径&#39;评估为&#34;资产/纹理/默认/ Background.jpg&#34;这是正确的路径,适用于Unity项目,但不适用于Windows。

导出游戏后,是否需要单独导出图像文件夹或使用其他路径?可能是一个非常愚蠢的事情,但我有点迷失在这里

1 个答案:

答案 0 :(得分:1)

请改用 Resources.Load Resources.LoadAssetAtPath 仅适用于编辑器。

创建一个名为&#34; Resources&#34;的文件夹。根据&#34;资产&#34;夹。将所有图像移动到此文件夹。

然后将您的代码更改为以下

 path = themeName + "/Background.jpg";
 Background_Image.GetComponent<Image>().sprite = Resources.Load<Sprite>(path);

上面的代码假设您在Resources文件夹中有一个以您的主题命名的子文件夹。

例如,如果您的某个主题被调用&#34; Theme1&#34;,则背景图片应存储在{Your_Project_Folder} /Assets/Resources/Theme1/Background.jpg