微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我很难在检查器中恢复我的变量 ID

如何解决我很难在检查器中恢复我的变量 ID

你能帮我在unity的inspector中获取id的值吗? 我在统一控制台中有一个 json,我做了一个程序来访问这个 json 中的数据,然后在统一检查器中恢复它。对于“位置”,它有效,但对于“id”没有。我试过很多方法都没有用。

这是我在启动函数和更新函数中的代码,我已经搜索过,但我没有找到如何为 id 执行此操作:

我使用的是 SimpleJSON。

if(mono != null)
{
     JSONNode id = Face["mono"]["id"].AsInt; 
     JSONNode position = Face["mono"]["position"];
     Vector3 pos = new Vector3(position["x"].AsFloat,position["y"].AsFloat,position["z"].AsFloat);
     int ident = new ident(id);
    
     x = pos.x;
     y = pos.y;
     z = pos.z;
     id= ident.id;
}

private void Update()
{
     Vector3 newPosition = new Vector3(x,y,z);
     gameObject.transform.localPosition = newPosition;
}

这是我的 json: { "cmd": "数据","frame_time": "2021-06-10T11:16:54.678596+00:00","start_time": "2021-06-10T10:35:40.516632+00:00",“流”:[ { "name": "usb0.1245.2",“对象”:[ { "name": "脸",“单核细胞增多症”: { "id": "18",“位置”: { "x": "0.073997","y": "-0.024979",“z”:“0.677220” } },“多”: [ { "id": "18",“z”:“0.677220” } } ] } ] } ],“播放”:{“列表”:“测试”, “项目”:“right_key” } }

解决方法

如果您从 int 获得 Face["mono"]["id"].AsInt;,您可以通过设置类的 public[SerializeField] private 变量在检查器中设置它,如下所示:

public myInt = 0; //also [SerializeField] private myInt = 0;
if(mono != null)
{
     myInt = Face["mono"]["id"].AsInt; 
     JSONNode position = Face["mono"]["position"];
     Vector3 pos = new Vector3(position["x"].AsFloat,position["y"].AsFloat,position["z"].AsFloat);
     int ident = new ident(id);
    
     x = pos.x;
     y = pos.y;
     z = pos.z;
     id= ident.id;
}

private void Update()
{
     Vector3 newPosition = new Vector3(x,y,z);
     gameObject.transform.localPosition = newPosition;
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。