【发布时间】:2018-07-30 14:08:31
【问题描述】:
如果我得到一个值 1,我正在尝试在我的脚本中做出决定,然后运行特定的游戏对象,即(人口引擎资产的PopulationGenerator)。我的场景中有 3 个人口生成器,但我无法在代码中将它们中的任何一个分配给 PopulationGenerator 变量。
唯一的方法是从 Unity GUI 脚本的侧面菜单中拖放游戏对象。
这是代码:
public PopulationGenerator generate1;
generat1.totalToSpawn = Convert.ToInt32(number) - 5;
我可以在场景中设置一个人口生成器,例如
if (value == 1)
generate1 = gameobject.name("generator1");
else if (value == 2)
generate1 = gameobject.name("generator2");
...
是否有任何方法可以将任何类型的游戏对象设置为代码中的变量? 谢谢。
【问题讨论】:
-
generat1.totalToSpawn = Convert.ToInt32(number) - 5;你能保证“数字”总是允许转换为整数吗?如果有人输入一个字符串会发生什么?使用 Int32.TryParse() -
GameObject.Find(name)?虽然您的字段是PopulationGenerator类型,它是一个游戏对象的组件,但您也需要GetComponent<PopulationGenerator>()。 -
你可以改为 `if (value
-
自动输入的号码
标签: c# unity3d gameobject