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

问题描述 投票:0回答:1

我正在将 assetsToSave 游戏对象的 bodyType 写入完美运行的 txt 文件

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

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

   assetBodyType[i] = data[0];

我不需要保存或加载方面的帮助,因为这已经有效了。 我唯一的问题是我如何将字符串“Kinematic”分配给游戏对象,因为它是一个字符串?

所以我唯一的问题是我不能像这样调用通常的函数

RigidbodyType2D.Kinematic

因为我想用

替换运动学
  assetBodyType[j]

拥有实际的 bodyType 而不是运动学的一切 我如何将这个字符串放入 Rigidbody2D 的函数中?? 我还能如何分配它?

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

我尝试搜索其他方法但找不到任何东西

c# unity3d game-development
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.