【发布时间】:2017-10-18 15:38:22
【问题描述】:
我想要一个像 Start() 这样的函数(所以它只调用一次) 在我将我的游戏对象设置为活动状态之后。我该怎么做?
考虑在 Update 中使用 if 语句执行此操作,因此如果 GameObject 处于活动状态,它将被调用。但问题是它不会调用一次。
【问题讨论】:
标签: unity3d
我想要一个像 Start() 这样的函数(所以它只调用一次) 在我将我的游戏对象设置为活动状态之后。我该怎么做?
考虑在 Update 中使用 if 语句执行此操作,因此如果 GameObject 处于活动状态,它将被调用。但问题是它不会调用一次。
【问题讨论】:
标签: unity3d
使用OnEnable() 方法,因为它只在启用对象时调用一次:
void OnEnable()
{
//This will be called when object is enabled.
Debug.Log("OnEnabled()", gameObject);
}
更新:
OnEnable() 只是另一个 Unity 方法,如 Start(),但每次对象激活时都会调用它。 看这个:https://www.youtube.com/watch?v=GPiHgMIqj2E
【讨论】: