這是要談的是遊戲存檔的功能,前陣子在做自製遊戲時是透過PlayerPrefs來進行存檔讀檔,所以就先從PlayerPrefs談起。
PlayerPrefs可以在應用程式內做資料存取的動作,可存取的資料型態為int、float、string三種類型,以下是存檔語法:
PlayerPrefs.SetInt ("儲存名稱I", 整數變數);
PlayerPrefs.SetFloat ("儲存名稱F", 浮點數變數);
PlayerPrefs.SetString ("儲存名稱S", 字串變數);
存好資料以後,若要讀取資料則是:
整數變數 = PlayerPrefs.GetInt ("儲存名稱I");
浮點數變數 = PlayerPrefs.GetFloat ("儲存名稱F");
字串變數 = PlayerPrefs.GetString ("儲存名稱S");
如果需要清除資料的話:
PlayerPrefs.DeleteAll();
PlayerPrefs.DeleteKey("儲存名稱I");
DeleteAll可以做全部資料的清除,DeleteKey則可以針對個別變數做清除。
如果要做簡單的資料存取的話,PlayerPrefs就非常夠用了。
接著提一些自己再嘗試時遇到的小問題:
首先是PlayerPrefs.Get...這些語法在讀取名稱時沒有先做儲存動作的話,GetInt和SetFloat會抓到0,SetString會抓到空字串,自己在這裡遇到過幾次小麻煩。
另外資料存檔之後會被寫到哪裡,Unity官方自己的頁面中有做說明:
http://docs.unity3d.com/ScriptReference/PlayerPrefs.html
這次就到這裡,晚點會補上簡單的範例小遊戲。
訂閱:
張貼留言 (Atom)
【自製小遊戲】水平思考猜謎(海龜湯)
遊戲連結 海龜湯的玩法是由出題者提出一個難以理解的事件,參與猜題者可以提出任何問題以試圖縮小範圍並找出事件背後真正的原因。但出題者僅能以「是」、「不是」或「沒有關係」來回答問題。 本遊戲蒐集各種論壇、平台的42個題目,提供給想玩海龜湯卻愁找不到題目的你們。 ...
-
今天來談帶有rigidbody物件移動的方法,AddForce和velocity。 首先AddForce,是在物體上給予一個方向的外力,是這樣寫的: using UnityEngine; using System.Collections; public class Cont...
-
MMD4Mecanim的用途是把MMD格式檔案( PMX or PMD),在Unity內 轉換成FBX檔案格式的 package , 對不會建模、動畫的人來說,是個方便取得模型的工具, 本篇是照著日文教學,重新再做一遍的中文教學。 環境需求: Unity 3D遊戲引擎...
存好資料以後,若要讀取資料則是:
回覆刪除浮點數變數 = PlayerPrefs.SetFloat ("儲存名稱F");
讀取資料不是SetFloat 是 GetFloat
字串變數 = PlayerPrefs.SetString ("儲存名稱S");
讀取資料不是SetString 是 GetString
感謝提醒,已修正。
刪除那如果是換場景 可以儲存圖片的嘛~
回覆刪除如果是圖片路徑的字串,我想應該是可以
刪除請問假設我有兩個C#檔,分別放在不同場景但同個專案
回覆刪除第一個C# 負責存取 ,第二個C# 負責讀檔, 但結果是第一個C#存的變數,第二個C#無法讀取
請問該如何解決
我測是可以 會不會是"儲存名稱"打錯
刪除不好意思,我想請問
回覆刪除那如果是VR的話,要怎麼做類似記錄存檔之類的
因為怕在換卡之後,整個東西都會跑掉,謝謝
VR我不是很清楚耶,請問換卡是?
刪除請問PlayerPrefs會隨Google Play更新遊戲而消失嗎
回覆刪除大大請問一下 如果我是要把手機遊戲資料 回傳到我的桌機該怎麼做呀~~
回覆刪除