我最近實施了一輪財富轉動和獎勵,就像它應該。 但是我希望它每天只能旋轉一次,當玩家觸摸旋轉按鈕。 在這種狀態下,玩家可以隨意旋轉,並獲得獎勵。 我如何實現它可以每天只能紡一次? 我試圖在PlayerPrefs等中保存日期,但一切都失敗了? 希望如果有人能幫我解決我的問題。在Unity中每天只旋轉一次車輪
回答
- 每一次24小時:
保存DateTime.Now.Ticks(從0年的數字,長的起息日)在PlayerPrefs字符串,然後long.Parse()它當u要讀它:
bool ShowWheelToPlayer()
{
if (DateTime.Now.Ticks - TimeSpan.TicksPerDay > long.Parse(PlayerPrefs.GetString("LastDateSpun", "0")))
return true;
else
return false;
}
void OnWheelSpun()
{
PlayerPrefs.SetString("LastDateSpun", DateTime.Now.Ticks.ToString());
}
- 每天一次:
保存DateTime.Now在YYYY-MM-DD格式。當我們讀到它時 - 小時和分鐘將被設置爲0,所以當我們將.AddDays(1)
與它比較時。
例如播放器轉輪2017-07-08 12:31
,我們將節省2017-07-08
。當比較我們將添加到它第一天:2017-07-09
所以玩家將能夠旋輪時再DateTime.Now達到2017-07-09 00:01
bool ShowWheelToPlayer()
{
if (DateTime.Now >
DateTime.ParseExact(PlayerPrefs.GetString("LastDateSpun", "0000-00-00"), "yyyy-MM-dd",
System.Globalization.CultureInfo.InvariantCulture)
.AddDays(1))
return true;
else
return false;
}
void OnWheelSpun()
{
PlayerPrefs.SetString("LastDateSpun",
DateTime.Now.Year + "-"
+ DateTime.Now.Month.ToString().PadLeft(2, '0') + "-"
+ DateTime.Now.Day.ToString().PadLeft(2, '0'));
Debug.Log(string.Format("Player spun wheel, saving date: {0}",
PlayerPrefs.GetString("LastDateSpun")));
}
此代碼:PadLeft(2, '0')
可以確保我們保存幾個月,用兩位數字天(而不是07 7)。這樣我們保持我們的格式:yyyy-MM-dd。
重播評論:
public void YourSpinMethod() //attach to button
{
if(ShowWheelToPlayer())
{
//spin wheel code
OnWheelSpun();
}
}
嗨謝謝你的答案。我讀了這個討論:http://answers.unity3d.com/questions/525604/doing-stuff-once-a-day.html,但仍然不知道如何做到這一點。 – theNewbiee
而且我也不理解你的代碼。你能不能一步一步向我解釋如何做到這一點?當然,只有當你有時間這樣做。但我會很感激。 – theNewbiee
Ayy它是錯誤的,增加了' - TimeSpan.TicksPerDay',所以它將每24小時工作一次 – kamyker
- 1. 攪拌車模型一起旋轉車輪轉輪
- 2. 紡車輪或360度旋轉輪
- 3. 圖像只旋轉一次
- 4. 只能旋轉UIImageView一次
- 5. 圖片只旋轉一次
- 6. 附上標籤,以旋轉的車輪
- 7. iPhone車輪(財富)旋轉勢頭
- 8. XNA如何旋轉汽車輪胎?
- 9. 將車輪旋轉至特定點
- 10. 每天,每週,每月只顯示一次uialertview一次?
- 11. 在Unity 3D中使用C進行車輪轉向#
- 12. SceneKit旋轉節點兩次只執行上一次旋轉?
- 13. 在java中旋轉齒輪
- 14. 輪對撞機有不同的旋轉與車輪GameObject
- 15. 我想知道車輪的速度時輪旋轉
- 16. 限制用戶每天只玩一次
- 17. 在MySQL中旋轉 - 一次只能在一行上工作?
- 18. 輪盤旋轉
- 19. supoprtedInterfaceOrientation每次旋轉發生
- 20. 使這個CSS3動畫旋轉只旋轉一次
- 21. 如何使一個picturebox在c#中只旋轉一次?
- 22. Unity相機旋轉
- 23. 觸發器只能運行一次,每天運行一次
- 24. 每當我嘗試旋轉imageview,它只能在軸上旋轉
- 25. Swing中的旋轉輪
- 26. 用鼠標旋轉輪盤轉輪
- 27. ProgressDialog輪不旋轉
- 28. webview的旋轉輪
- 29. ThreeJS輪面旋轉
- 30. Flash as3旋轉輪
那你試試? PlayerPrefs是解決這個問題的一種方法。另外,你的遊戲支持哪些平臺? – Anil
我想用playerprefs來解決這個問題。 – theNewbiee
哦,對不起,我不想擊中進入等待一秒鐘 – theNewbiee