Unity3d 如何使用字符串引用纹理?
我已将texture2设置为PlayerRefs中的新纹理,如下所示:Unity3d 如何使用字符串引用纹理?,unity3d,textures,texture2d,Unity3d,Textures,Texture2d,我已将texture2设置为PlayerRefs中的新纹理,如下所示: PlayerPrefs.SetString("texture","texture2") void Update() { if(textureBool == false) { AudioListener.pause = true; mainTexture = Texture2; } else if(textureBool == true) {
PlayerPrefs.SetString("texture","texture2")
void Update()
{
if(textureBool == false)
{
AudioListener.pause = true;
mainTexture = Texture2;
}
else if(textureBool == true)
{
AudioListener.pause = false;
mainTexture = Texture1;
}
}
但是如何打开以下脚本的字符串:
PlayerPrefs.GetString("texture")
进入:
因此,它会将texture2更改为texture:
mainTexture = texture2
我不使用变量,因为我希望保存并加载所选纹理。提前谢谢!感谢您的帮助!: 通过了解纹理路径加载纹理如下 但这不是你想要的 答案是根据这些问题和 不要将字符串转换为纹理生成布尔值,如果为真,则将纹理设置为tex1,如果为假,则将纹理设置为tex2 我已经弄明白了: 我将PlayerRefs更改为:
PlayerPrefs.SetString("tex","texture2")
为texture1再做一个
然后,我创建了一个名为MuteCheck的函数,这是我放在里面的:
public void MuteCheck()
{
texture = PlayerPrefs.GetString ("tex");
if (texture == "texture2")
{
textureBool = false;
}
else if (texture == "texture1")
{
textureBool = true;
}
}
之后,我创建了如下更新函数:
PlayerPrefs.SetString("texture","texture2")
void Update()
{
if(textureBool == false)
{
AudioListener.pause = true;
mainTexture = Texture2;
}
else if(textureBool == true)
{
AudioListener.pause = false;
mainTexture = Texture1;
}
}
现在它工作得很好 你好!!好的,您已经看到了我的脚本,但是我应该在哪里添加您的脚本呢?对不起,我弄糊涂了。顺便说一句,谢谢你回答我所有的问题并帮助我,伙计使用PlayerPrefs.Save如果您正在为android制作,确保数据保存如果它是pc,那么没有必要使用PlayerPrefs.SetString,我应该使用PlayerPrefs.Save来代替PlayerPrefs.SetString?或者只保留字符串并在其下方添加“PlayerPrefs.Save”?不,在更改场景之前,请使用PlayerPrefs.Save不要更改任何内容。因此,您测试了此功能,没有问题您的意思是我说的“Application.Loadlevelscene1;”aI还必须编写“PlayerPrefs.Save;”;?我还没测试过,我得走了,几个小时后我会测试的。顺便说一句,昨天我试了一下,没有.Save,数据就按它应该做的那样保存了。
void Update()
{
if(textureBool == false)
{
AudioListener.pause = true;
mainTexture = Texture2;
}
else if(textureBool == true)
{
AudioListener.pause = false;
mainTexture = Texture1;
}
}