我使用c#脚本在Unity中创建了一个换装游戏,当我使用以下代码单击更改按钮时,它会改变身体上的纹理:
gotexture = GameObject.Find ("Body");
Texture2D mytexture=(Texture2D) Resources.LoadAssetAtPath("Assets/characters/Female/textures/texture2.tga",typeof(Texture2D));
gotexture.renderer.material.mainTexture = mytexture;
当我以统一的方式运行项目时,此代码会更改正文上的纹理,但是当我为Windows Phone构建项目并运行它时,单击按钮时纹理不会改变。 在Windows Phone上使用时,是否有任何要更改的纹理设置?纹理是tga文件。
答案 0 :(得分:0)
构建项目时,您的资源不会与项目中的资源相同。不要使用Resources.LoadAssetAtPath
,只需使用Resources.Load
。
为了使用它,您需要将可能动态加载的任何内容放在名为Resources的文件夹下。例如,
Resources
|___
-Textures
-Sound Effects
-Prefabs
-etc
现在您可以加载这些资产:
Resources.Load("Textures/myTexture");
这对于加载预制件也非常方便!无论你在哪里运行它都应该有效。
注意:我相信你这样使用它时会省略文件扩展名。我不太记得,我不在一个可以测试它的地方。如果它不起作用,只需使用文件名,直到它工作。