2014-09-04 31 views
1

我爲團隊3d中的一個遊戲設置了一個本地高分,在每秒通過的情況下,你獲得+1分。現在我有這個腳本設置本地高分?

var textfield : GUIText; 
static var score : int; 

function Start() 
{ 
    score = 0; 
} 

function Update() 
{ 
    score = Time.timeSinceLevelLoad;   
    UpdateScoreText();     
}  
function UpdateScoreText() 
{ 
    textfield.text = score.ToString();  
} 

建立一個空的遊戲對象,所以我可以實時顯示的點,但是當你死了,遊戲又回到了菜單的場景我怎麼然後加載你以前的分數和你的最高分數,進入菜單場景?我看了很多地方,找不到一個有效的選項,幫助我,也很新的統一,但我對js有一個溫和的理解,也將採取C#,但更舒適的js。我是否需要在菜單中設置一個對象來從MainGame場景中提取數據?一段時間以來一直在苦苦掙扎。

+1

這是否數據需要退出該應用程序後仍然存在,或者如果它當用戶退出應用程序已被清空,你不在意? – 2014-09-04 20:46:09

+0

@DakotahHicock我更喜歡它保存最高分,以便用戶在下次打開應用程序時可以繼續嘗試擊敗它。 – bumbob 2014-09-04 20:46:53

+0

不知道團結如何工作,但如果我理解正確,你想保存一些分數,以便以後使用它們?如何保存到文本文件?如果這是可能的統一。 – Ace 2014-09-04 20:46:55

回答

2

這個和最簡單的最明顯的方法是使用playerprefs。 即使您關閉遊戲並重新打開它,您也可以保存該值,然後從您喜歡的任何位置加載。

例如: 保存)

PlayerPrefs.SetString("the string Title", "the text you want to save"); 

加載)

print (PlayerPrefs.GetString("the string Title")); 
+0

+1我強烈推薦這種方法。 – FunctionR 2014-09-07 00:53:11

1

設置它,以便當它們死亡時,數據保存在某個地方。

您可以在C#中以任意數量的方式存儲這些數據。您可以使用文本文件作爲最簡單的方法,但可以使用文本編輯器進行更改,因此請記住這一點。

+0

我想我不知道如何去存儲數據,如果它在android和ios中會有所不同,再次不是最好的與c#,但如果我有東西要離開我可能會弄清楚。我會繼續搜索。 – bumbob 2014-09-04 20:51:24

+0

使用iOS,您可以使用CoreData來存儲它。使用Android,您應該可以使用SqlLite/OrmData。您還可以將.txt文件保存到應用程序文件夾並根據需要進行更新。在我看來,.txt文件可能比我們需要的更多的工作。 – 2014-09-04 20:53:17

+0

真棒我會嘗試從這裏感謝很多人。 – bumbob 2014-09-04 20:59:14