我想在游戏中创建24小时奖励锁(unity3d) 我想在24小时后24小时奖励用户,游戏对象将被锁定另外24小时我将如何在团结中做到这一点???
答案 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秒使用coroutines到yield return new WaitForSeconds(1)
计算一次。还要确保每次if (unlockedDate < DateTime.Now)
检查以触发解锁:)
快乐编码