【问题标题】:Unity start function after set a Gameobject active设置游戏对象激活后的 Unity 启动功能
【发布时间】:2017-10-18 15:38:22
【问题描述】:

我想要一个像 Start() 这样的函数(所以它只调用一次) 在我将我的游戏对象设置为活动状态之后。我该怎么做?

考虑在 Update 中使用 if 语句执行此操作,因此如果 GameObject 处于活动状态,它将被调用。但问题是它不会调用一次。

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    使用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

    【讨论】:

    • 嗯...对我不起作用?可能是因为我是在 Android 上构建的?
    • 我在 GameObject 上有带有 OnEnable() 的脚本,它将被设置为活动状态,对吗?
    • 发现我的错误我做了IEnumerator。让它无效并在那里启动一个协程并且它有效!
    猜你喜欢
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-11
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    相关资源
    最近更新 更多