【问题标题】:Unity3d do something when attached a script to gameobject将脚本附加到游戏对象时,Unity3d 会做一些事情
【发布时间】:2017-04-22 15:09:49
【问题描述】:

我的问题是,当我将脚本附加到游戏对象时,我想进行一些计算并将 Edge Collider 添加到该游戏对象。有没有类似“OnAttached”之类的事件?

感谢您的所有帮助。

感谢 Ruben,我找到了解决方案。 RequireComponent 是我一直在寻找的东西,但我实际上需要一个像“OnAttached”这样的事件,最后我找到了。它是“void Reset()”。

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    可以使用[RequireComponent(typeof(EdgeCollider))]自动添加Edge Collider

    在此处了解更多信息: https://docs.unity3d.com/ScriptReference/RequireComponent.html

    编辑: OP 说这没有帮助,请参阅下面的评论以获取更多信息:

    然后,您可以简单地将所有必要的计算放入 Start() 函数中,当脚本启用时,该函数会被调用。

    https://docs.unity3d.com/ScriptReference/MonoBehaviour.Start.html

    【讨论】:

    • 非常感谢!那么我可以在添加 EdgeCollider 后进行计算并编辑它吗?
    • 抱歉,忘记了那部分。基本的 Start() 函数应该是合适的地方!
    • 非常感谢 RequireComponent 的回答,但 Start 功能不是我需要的 :)
    • 顺便说一句,我找到了解决方案。类的 [InitializeOnLoad] 属性或方法的 [InitializeOnLoadMethod] 属性非常适合我的目的。
    • 我不得不做更多的研究,因为 [InitializeOnLoadMethod] 属性并没有如我所愿。最后我找到了解决方案:) void Reset() 函数在用户重置组件或第一次添加时被调用。 docs.unity3d.com/ScriptReference/MonoBehaviour.Reset.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多