我想在我的游戏中创建一个24小时奖励锁(unity3d)

时间:2017-02-16 06:20:14

标签: unity3d

我想在游戏中创建24小时奖励锁(unity3d) 我想在24小时后24小时奖励用户,游戏对象将被锁定另外24小时我将如何在团结中做到这一点???

1 个答案:

答案 0 :(得分:0)

当玩家第一次“使用”该对象时,您可以保存该对象和当前时间:

PlayerPrefs.SetString('<objectnametimer>', DateTime.Now.AddHours(25).ToString());

这将保存新的日期时间,因此每次游戏启动时,您都可以检查以下内容:

void Start() {
    var unlockDate = DateTime.Parse(PlayerPrefs.GetString('<objectnametimer>'));
    if(unlockDate < DateTime.Now) {
        //object unlocked again
    }
    else {
        //object still locked, how long you ask?: 
        TimeSpan diff = unlockDate.Subtract(DateTime.Now);
        Debug.Log("object locked for " + diff.Minutes + " more minutes");
    }
}

我没有检查编译错误,(我在手机上)但这看起来很有希望:))

PS:如果你想创建一个倒计时,只需继续迭代else代码并使用差异将其转换为漂亮的格式,如here所述

编辑:迭代时,每隔1秒使用coroutinesyield return new WaitForSeconds(1)计算一次。还要确保每次if (unlockedDate < DateTime.Now)检查以触发解锁:)

快乐编码