如何让GameObject有一个统一的参数(c#)?

时间:2016-12-27 04:59:08

标签: c# variables unity3d gameobject

请帮我看看如何获​​取“currentPeople.timeCount”的值 例如我有一个脚本:

public class BuildingPlacement : MonoBehaviour 
{
    public GameObject currentPeople;public int DelayTime;private int timeCount;
}

如果我想说那个

DelayTime = currentPeople.timeCount;

我尝试下面的代码,它说nullreferenceexception对象引用未设置为对象的实例:

DelayTime = (BuildingPlacement)currentPeople.GetComponent(typeof(BuildingPlacement).timeCount);

如何获得currentPeople.timeCount的值?有可能吗?

1 个答案:

答案 0 :(得分:1)

您无法在original问题中提及的游戏对象中添加变量。您很可能希望将脚本添加到GameObject,这也使timeCount变量可用于该GameObject。

如果是这种情况,那么选择currentPeople GameObject并在编辑器中将BuildingPlacement脚本拖到它上面。这称为将游戏脚本附加到GameObject。您也可以通过以下代码执行此操作:

currentPeople.AddComponent<BuildingPlacement>();

访问附加到timeCount GameObject的BuildingPlacement脚本中的currentPeople变量:

 int value =  currentPeople.GetComponent<BuildingPlacement>().timeCount;

您似乎缺乏Unity的基本知识。您可以从here开始。