如何检查用户是否是第一次玩游戏?

时间:2019-11-25 17:40:06

标签: unity3d

我想第一次显示像“嗨,我叫NAVI”的文字。然后当玩家下次再次开始游戏时,它将显示另一个文字,例如“欢迎回来”。

Main menu

1 个答案:

答案 0 :(得分:5)

使用player prefs可能是最简单的解决方案,尽管绝对不是唯一的解决方案*。

由于缺少布尔值playerpref,我通常选择使用SetInt / GetInt代替,但这是个人喜好。您也可以使用字符串或浮点数来实现。

private void Start()
{
    if(PlayerPrefs.GetInt("HasLaunched", 0) == 0)//Game hasn't launched before. 0 is the default value if the player pref doesn't exist yet.
    {
       //Code to display your first time text
    }
    else
    {
       //Code to show the returning user's text.
    }
    PlayerPrefs.SetInt("HasLaunched", 1); //Set to 1, so we know the user has been here before
}

Playerpref在会话之间存储值,因此下一个会话仍将“ HasLaunched”设置为1。但是,这存储在本地设备上。因此用户可以根据需要手动重置它。

如果您想再次显示“首次启动”文本,只需将HasLaunched设置为零,或者将其与DeleteKey("HasLaunched");一起删除

*有很多替代解决方案,例如将其存储在本地配置文件中,或使用远程数据库(如果您不希望用户能够重置它,则需要这样做)。但是,它们将遵循相同的原则。在某个位置将值设置为true或1,然后在启动时检查该值。