【发布时间】:2015-05-10 11:48:24
【问题描述】:
我为网站创建了一个点击游戏。我想添加最后一件事:在本地保存游戏的能力。我不知道如何使用 playerprefs 但我查看了所有视频并尝试创建 savegame 和 loadgame 但它不起作用,但一切看起来都是正确的。我的存档游戏或加载游戏有什么问题?
保存游戏:
using UnityEngine;
using System.Collections;
public class SaveGame : MonoBehaviour {
private Databasestorage database;
public void savegame(){
database = GameObject.Find ("PlayerCamera").GetComponent<Databasestorage> ();
PlayerPrefs.SetFloat ("cookies", database.cookies);
PlayerPrefs.Save ();
}
}
加载游戏:
using UnityEngine;
using System.Collections;
public class LoadSaveGame : MonoBehaviour {
private Databasestorage database;
public void loadsavegame(){
database = GameObject.Find ("PlayerCamera").GetComponent<Databasestorage> ();
if (PlayerPrefs.HasKey ("cookies")) {
database.cookies = PlayerPrefs.GetFloat ("cookies");
} else {
Debug.Log ("Savegame was not found. Canceling load save game.");
}
//if (PlayerPrefs.HasKey ("cookies")) {
// Application.LoadLevel (PlayerPrefs.GetFloat ("cookies"));
//} else {
// Debug.Log ("Savegame was not found. Canceling load save game.");
//}
}
}
如果你想知道它是什么数据库:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Databasestorage : MonoBehaviour {
public int enabletimer = 0;
public double checktime = 3.0;
public double checktimereset = 3.0;
public float cookies = 0;
public float drink = 0;
public Text cookiestext;
void Start () {
}
void Update () {
if (enabletimer == 1) {
checktime -= Time.deltaTime;
} else {
cookiestext.GetComponent<Text> ().text = "Cookies: " + cookies;
}
if (checktime <= 0) {
cookiestext.GetComponent<Text> ().text = "Cookies: " + cookies;
checktime += checktimereset;
}
}
}
更新:LoadGame 不起作用! (加载保存游戏)
【问题讨论】:
-
Public void savegame 和 loadgame 在 BUTTON 上执行(调用)。
-
在这种情况下,“不起作用”到底是什么意思?您的实际行为与观察到的行为有何不同?
-
你确认
savegame方法确实运行了吗? -
我不知道它是否应该所有按钮的工作方式都与我在保存游戏中所做的一样所以它工作但它什么也没做如果存档游戏无法正常工作,请显示调试日志?但我认为它并不存在。
-
啊,对不起,我没有注意到我没有调用加载游戏脚本,它没有设置在按钮上,当我保存我的项目时,它以某种方式自行删除了它。很抱歉。现在它可以工作了:) 一切正常。非常非常非常抱歉。