首页 > 解决方案 > 按钮播放器首选项

问题描述

当我单击按钮 1 时,我需要 3 个按钮,隐藏该按钮并使用 PlayerPrefs 显示所有按钮,当我单击按钮 2 时,隐藏该按钮并使用 PlayerPrefs 显示所有按钮我测试我的代码但仅使用按钮 2

void Start()
{
    if (PlayerPrefs.GetInt("Button1") == 1)
    {
        object1.gameObject.SetActive(false);
        object2.gameObject.SetActive(true);
    }
    else if (PlayerPrefs.GetInt("Button1") == 0)
    {
        object1.gameObject.SetActive(false);
        object2.gameObject.SetActive(true);
    }


    if (PlayerPrefs.GetInt("Button2") == 1)
    {
        object2.gameObject.SetActive(false);
        object1.gameObject.SetActive(true);
    }
    else if (PlayerPrefs.GetInt("Button2") == 0)
    {
        object1.gameObject.SetActive(true);
        object2.gameObject.SetActive(true);
    }
}
public void whenclickbutton1()
{
    object2.gameObject.SetActive(true);

    PlayerPrefs.SetInt("Button1", 1); PlayerPrefs.SetInt("Button2", 0);
    PlayerPrefs.Save();

}
public void whenclickbutton2()
{

    object1.gameObject.SetActive(true);

    PlayerPrefs.SetInt("Button2", 1); PlayerPrefs.SetInt("Button1", 0);
    PlayerPrefs.Save();
}

标签: c#unity3dbutton

解决方案


所以,你想隐藏点击的按钮,并显示其余的?那么只有 1 个 playerpref 可以工作,包含隐藏按钮?

void Start()
{
    HideAndShowButtons();
}
void HideAndShowButtons()
{
    object1.gameObject.SetActive(PlayerPrefs.GetInt("HiddenButton") != 1);
    object2.gameObject.SetActive(PlayerPrefs.GetInt("HiddenButton") != 2);
}

public void whenclickbutton1()
{
    PlayerPrefs.SetInt("HiddenButton", 1);
    PlayerPrefs.Save();
    HideAndShowButtons();
}
public void whenclickbutton2()
{
    PlayerPrefs.SetInt("HiddenButton", 2);
    PlayerPrefs.Save();
    HideAndShowButtons();
}

推荐阅读