2012-09-04 60 views
1

我已經搜索了很多關於如何在Unity 3D中保存遊戲的內容。每個人都建議使用XML序列化或Player Prefs。我無法弄清楚究竟要保存什麼。我的遊戲是一款塔防遊戲,所以當我離開我需要保存在Unity3D中保存遊戲的方法

  • 塔(多個預製件,位置和每一個特定 升級,動畫當前正在播放等)
  • 敵人(對多個敵人的預製件戰場上,他們的立場,動畫,敵人路徑 ,健康等)
  • 敵人波
  • 的路徑計算
  • 難度
  • 級別
  • 分數
  • 住左
  • 總計金額

應該怎麼我的方法試圖挽救所有這些信息。我將不得不去的粒度級別是多少? 。我可以保存每個遊戲對象,並且與該遊戲對象相關的所有內容都將自動保存。還是我救了每個班級? ...或者我需要保存遊戲中使用的每個變量。

+0

如果您只允許在波浪間進行保存,則不必將這些數據(動畫,敵人數據等)考慮在內。 –

+1

跳過保存動畫信息,這是矯枉過正。與路徑相同。您的引擎應該足夠聰明,以根據當前遊戲狀態重新計算這些引擎。保存什麼很難回答,這取決於你的遊戲。通常情況下,您將保存當前遊戲狀態無法生成的值。 – Jerdak

回答

0

這取決於你的代碼設計。但避免保存所有數據(如序列化)。所有具有初始默認值或不重要的玩家(如動畫位置)應該只保存更改的屬性。加載遊戲後,您應該從頭創建對象,初始化它們並從保存的文件中設置值。

對於簡單的遊戲可以建議使用Player Prefs來保存當前級別,分數等信息。

對於保存數千個隨機對象,考慮保存控制點並恢復級別加載它們並重新生成它們周圍的隨機點。

好的方法是將數據保存到網絡雲中。