【发布时间】:2018-06-15 18:24:57
【问题描述】:
您好,我正在尝试将 sql 数据库中的保存/加载到我的游戏中。 除了我需要两次加载才能加载数据这一事实之外,我已经完成了所有工作。
设置数据的代码在我有机会设置之前完成。
public void loadData()
{
GetComponent<SavingLoading>().Load(GameObject.Find("LoginSystem").GetComponent<LoginSystem>().Username);
if (GetComponent<SavingLoading>().LoadedData != "")
{
string[] Data = GetComponent<SavingLoading>().LoadedData.Split(',');
Level = Convert.ToInt32(Data[0]);
CurrentXp = Convert.ToInt32(Data[1]);
currentHealth = Convert.ToInt32(Data[2]);
maxHealth = Convert.ToInt32(Data[3]);
Vector3 LoadedPos = new Vector3(Convert.ToSingle(Data[4]), Convert.ToSingle(Data[5]), Convert.ToSingle(Data[6]));
transform.position = LoadedPos;
}
}
这些函数在另一个脚本中。
public void Load(string name)
{
StartCoroutine(LoadCall(name));
}
IEnumerator LoadCall(string name)
{
WWWForm form = new WWWForm();
form.AddField("name", name);
WWW www = new WWW(LoadPhP, form);
yield return www;
string _return = www.text;
LoadedData = _return;
}
如果存在数据,我怎样才能只更新数据?无需按两次加载按钮。
【问题讨论】:
-
您想等到协程完成后?将该代码放入协程中或添加回调函数参数。