unity3d 如何通过阅读保存在txt文件中的字符串来分配Rigidbody2DbodyType?

dy1byipe  于 2023-03-30  发布在  其他
关注(0)|答案(1)|浏览(94)

我正在将assetsToSave gameObjects的bodyType写入到txt文件中,它可以完美地工作

assetBodyType[j] = assetsToSave[j].GetComponent<Rigidbody2D> 
 ().bodyType.ToString();

在我的txt文件中,有一个名为“Kinematic”的字符串,我正在解析它

assetBodyType[i] = data[0];

我不需要帮助保存或加载,因为这已经工作了。我唯一的问题是我如何将字符串“运动学”分配给gameObject,因为它是一个字符串?
所以我唯一的问题是我不能像这样调用通常的函数

RigidbodyType2D.Kinematic

因为我想将运动学替换为

assetBodyType[j]

为了得到实际的bodyType,而不是运动学的所有东西,我怎么把这个字符串放进Rigidbody2D的函数中??我还能怎么分配它?

possibleObjecs[j].GetComponent<Rigidbody2D>().bodyType = 
 RigidbodyType2D.Kinematic;

我试着用其他方法搜索,但什么也没找到

noj0wjuj

noj0wjuj1#

可以使用Enum.ParseEnum.TryParse将字符串解析为枚举

possibleObjecs[j].GetComponent<Rigidbody2D>().bodyType =
Enum.Parse(typeof(RigidbodyType2D), "Kinematic");

但是我建议一个好的方法是将所有你想保存的字段分配给一个类,然后使用Json converter来保存和加载,this是一个关于将JSON转换为对象中的枚举的主题。

相关问题