我想以某種方式創建一個統計的場景,顯示有關用戶與遊戲統一自動保存和加載只是一個簡單的變量
回答
做這裏面OnApplicationFocus
和OnApplicationPause
功能多少互動的一些信息會好些,但有很多情況下這些功能都沒有被調用,這也取決於平臺。在OnEnable
和OnDisable
函數中應該這樣做,因爲這些函數被保證被調用。
雖然,您需要將DontDestroyOnLoad(transform.gameObject);
放在喚醒功能中,以確保在遊戲過程中加載新場景時不會調用OnEnable
和OnDisable
。
問題與您的代碼:
。你要保存test
鍵與PlayerPrefs.SetInt("test", timesPlayed);
一個int但隨後加載test
鍵與PlayerPrefs.GetFloat("test")
的浮動。
。即使加載它,您也不會將加載的值賦值給任何東西。 timesPlayed = PlayerPrefs.GetInt("timesPlayed");
應該這樣做。
。最後,你並沒有把它保存下來。不僅如此,你甚至不會在任何地方撥打Save()
和Load()
的功能。您需要know Unity加載和卸載時調用哪些函數。
下面是一個簡單的根據您的腳本打開計數器的次數。創建一個GameObject和下面的腳本。您現在可以擴展此功能以包含其他功能。
public class OpenCounter : MonoBehaviour
{
int timesPlayed;
public Text timeSpendOnGame;
void Awake()
{
DontDestroyOnLoad(transform.gameObject);
timeSpendOnGame.GetComponent<Text>();
}
void Start()
{
timeSpendOnGame.text = "" + timesPlayed;
}
public void Save()
{
PlayerPrefs.SetInt("timesPlayed", timesPlayed);
}
//Load
public void Load()
{
timesPlayed = PlayerPrefs.GetInt("timesPlayed");
}
//Load when Opening
public void OnEnable()
{
Debug.Log("Opening!");
Load();
}
//Increment and Save on Exit
public void OnDisable()
{
Debug.Log("Existing!");
timesPlayed++; //Increment how many times opened
Save(); //save
}
}
喲!我來晚了,我實際上有其他方式工作,但我有一個問題與UI文本它正在消失在巡視員時,即時播放模式,我只是試過你的代碼它的作品就像一個魅力!謝謝! – John
很高興我能夠幫助。我拒絕了編輯,因爲「counter」沒有描述任何內容。 'counter'可以是任何東西。 'timesPlayed'描述你在你的問題中所要求的。 – Programmer
這將工作在android設備上嗎? onEnable和onDisable? – John
- 1. 保存和加載變量
- 2. Android SharedPreferences,如何保存一個簡單的int變量
- 3. Python不保存一個簡單變量的值
- 4. 簡單保存/加載整個陣列
- 5. 關於一個簡單的PHP自動加載器的問題
- 6. 存儲變量的簡單存儲變量加載項的卸載
- 7. 我只是想要一個簡單的加載數據(div)滾動功能
- 8. 保存和載入一個單身
- 9. 創建變量來保存通過另一個變量加載的信息
- 10. 負載自動加載只有一次
- 11. 從一個單獨的類保存和訪問變量
- 12. 保存活動狀態(不只是一些變量)的方向變化
- 13. 保存一個變量,特別是在jQuery中增加的div?
- 14. 只是一個簡單的問題
- 15. 只是一個簡單的UnauthorizedAccessException問題
- 16. 自動增加一個變量
- 17. 加載變量:只能使用一次
- 18. 保存和訪問Android中的活動一個靜態變量
- 19. 自動保存和加載使用
- 20. 保存和加載變量的最佳方式是什麼?
- 21. 保存並顯示整個班級變量的高分統一
- 22. RestKit - 加載一個簡單的數組
- 23. 保存緩存到一個變量
- 24. PHP自動加載變量
- 25. C++ Boost.serialization vs簡單加載/保存
- 26. Fancybox只自動加載一次
- 27. Asp.net C#保存一個變量的onclick
- 28. 通過sharedPreferences保存和加載一個活動
- 29. 在OpenGL中加載統一變量是否昂貴?
- 30. 在Firefox Addon SDK中存儲/訪問一個簡單的變量
看看[這個答案](http://stackoverflow.com/a/10230015/2736798)或閱讀[serialization](https://msdn.microsoft.com/en-ca/library/ mt656716.aspx)。 –