我有一个从PHP文件发送到Unity的项目列表WWW.
的WWW.text样子:
[
{
"playerId": "1",
"playerLoc": "Powai"
},
{
"playerId": "2",
"playerLoc": "Andheri"
},
{
"playerId": "3",
"playerLoc": "Churchgate"
}
]
Run Code Online (Sandbox Code Playgroud)
我[]从哪里修剪额外的string.当我尝试使用它解析它时Boomlagoon.JSON,只检索第一个对象.我发现我已经到deserialize()了列表并导入了MiniJSON.
但我很困惑如何deserialize()这个列表.我想遍历每个JSON对象并检索数据.如何使用C#在Unity中执行此操作?
我正在使用的课程是
public class player
{
public string playerId { get; set; }
public string playerLoc { get; set; }
public string playerNick { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
修剪后[]我可以使用MiniJSON解析json.但它只返回第一个KeyValuePair.
IDictionary<string, object> players = Json.Deserialize(serviceData) as IDictionary<string, object>;
foreach (KeyValuePair<string, …Run Code Online (Sandbox Code Playgroud) 我找到了在Unity3D游戏引擎中保存游戏数据的最佳方法.
首先,我使用了序列化对象BinaryFormatter.
但我听说这种方式存在一些问题,不适合保存.
那么,保存游戏状态的最佳或推荐方法是什么?
在我的例子中,保存格式必须是字节数组.
我正在制作一个团结C#的游戏.我有代码保存本地并为游戏保存云.当按下游戏保存然后退出时,我按下一个按钮退出.
但我在这里保存的游戏有问题.当某人或玩家按下设备移动设备上的主页按钮时,游戏将退出并在后台运行.
如果玩家重启设备,则在后台运行的游戏将不会保存到本地或云端.这就是问题.
所以在统一当主页按钮按下设备移动时,统一会做什么?这是暂停应用程序/游戏或其他什么?如果玩家按下主页按钮,我们可以做什么?
如果暂停应用程序/游戏,我们可以在玩家按下主页按钮时首先检测到它,我们可以保存游戏吗?(我的意思是在按下按钮后运行代码)
或者根据你的经验,如果玩家按下主页按钮会怎么做?这是为了让玩家不丢失游戏数据.
请详细说明我找到解决方案.
对于继续比赛,任何帮助都会很棒:)
谢谢
丹尼斯
我为我的游戏设置了一个支付系统,这是我的代码:
void Start()
{
T55.interactable = false;
Tiger2.interactable = false;
Cobra.interactable = false;
}
public void ProcessPurchase (ShopItem item)
{
if(item .SKU =="tank")
{
StoreHandler .Instance .Consume (item );
}
}
public void OnConsumeFinished (ShopItem item)
{
if(item .SKU =="tank")
{
T55.interactable = true;
Tiger2.interactable = true;
Cobra.interactable = true;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,每次玩家在游戏中购买东西时,我的 3 个按钮的棘手性都会变为真;但问题是每次他关闭游戏时,顽固性都会回到错误状态。
我应该保存这个过程,这样玩家就不必再次购买将它们设置回 true 吗?
我正在为Unity3D中的游戏开发一个保存和加载系统.像位置这样的基础很简单,我就是这样
public void Save() {
PlayerPrefs.SetFloat ("X", transform.position.x);
PlayerPrefs.SetFloat ("Y", transform.position.y);
PlayerPrefs.SetFloat ("Z", transform.position.z);
}
public void Load() {
float x = PlayerPrefs.GetFloat ("X");
float y = PlayerPrefs.GetFloat ("Y");
float z = PlayerPrefs.GetFloat ("Z");
transform.position = new Vector3 (x, y, z);
}
Run Code Online (Sandbox Code Playgroud)
但是当我想要保存自定义变量时,它就出现了.以下是包含它们的类如下所示:
[SerializeField] private Stat health;
public static Stat Health { get; set; }
[SerializeField] private Stat exp;
public static Stat Exp { get; set; }
[SerializeField] private Stat oxygen;
public static Stat Oxygen { get; set; }
[SerializeField] …Run Code Online (Sandbox Code Playgroud)