所以我试图用Unity JSON实用程序保存一些数据,但是我有一些麻烦。
我有一个World类,里面有一些参数,例如Width Height等,还有一个二维的“ Tiles”数组,它是另一个类
精简版:
public class World
{
[SerializeField]
private Tile[,] tiles;
public Tile[,] Tiles { get { return tiles; } protected set { } }
[SerializeField]
private int width;
public int Width
{
get { return width; }
}
[SerializeField]
private int height;
public int Height
{
get { return height; }
}
public int WorldSize
{
get
{
return height * width;
}
}
}
在另一个脚本中,我有保存系统,当前我正在尝试用其图块保存该世界:
public void SaveWorld(World worldToSave)
{
SaveSystem.Init();
string json = JsonUtility.ToJson(worldToSave);
Debug.Log("Json es: " + json);
//AHORA MISMO ESTO GUARDA SOLO WIDTH Y HEIGHT DEL MUNDO
File.WriteAllText(SaveSystem.SAVE_FOLDER + "/Save.txt", json);
}
瓦片已经具有Serializable,并且如果我创建一个1D数组,我可以保存它们并从它们中获取数据,但是我不知道如何使用2D或如何更改它(它是2D的,因为我使用了它们X和Y坐标)。
此外,我真的不理解JSON如何将这个磁贴包装在世界内部,以及磁贴内部的事物等等。
答案 0 :(得分:0)
自Unity序列化程序does not support multi-dimensional array起,您可以执行以下操作:
示例:
<img src="<php echo base_url('path/to/image/'.$img);?>" />
结果:
请注意,您需要使用JSON序列化数组的宽度和高度。