与来自不同场景的对象进行交互Unity 5

时间:2017-07-25 04:01:17

标签: c# unity3d unity5

下午好!我已经创建了一个主菜单,你可以在其中创建你的RPG角色,在这个菜单中,我可以从输入字段/按钮中取值,从属性中添加/减去值等等。一切都存储在名为CustomCharacterSheet的类中,现在这个对象有一个DontDestroyOnLoad脚本,允许它移动到下一个场景,这是第一个级别。

在我的playerbehavior类中,我有一个方法,它接受CustomCharacterSheet对象并读取其值,然后创建一个具有适当值的字符,问题是当我想使用该方法在Awake()上生成字符时在playerbehavior中,该方法需要一个CustomCharacterSheet类型的对象才能被执行,但是如何告诉这个方法来自主菜单的CustomCharacterSheet是必须被读取的?我试过GameObject.Find();但它会告诉我它无法将GameObject强制转换为CustomCharacterSheet类。

这是虚拟代码:

touch: setting times (...): Operation not permitted

1 个答案:

答案 0 :(得分:1)

"FileMD5=468c15f33fc55e6a388d505024ed723a" "OrgMD5=468c15f33fc55e6a388d505024ed723a" The target file was modified. 0 用于按名称查找某个gameObject,而不是查找脚本。

由于您说脚本附加到gameObject,您需要做的是使用该对象的名称调用GameObject.Find,然后您可以使用GameObject.Find("ObjectName")访问脚本CustomCharacterSheet

GetComponent

GetComponent允许您访问GameObject的任何组件。