我一个同事刚问我为啥有时候脚本的勾选项没有了?有时候不想让某条脚本执行,可以直接在编辑器中点掉勾选按钮即可。如下图所示。
以前我也遇到过这个问题,但是一直都没怎么注意,因为一般情况下也用不到。今天刚好有同事问我,我也就抽空看一下到底是为什么?
结果发现了一个奇葩的问题。。凡事脚本没有勾选项的,都是因为你的脚本没有Start方法。。如果你想让勾选框显示出来,把如下方法加入即可,不信你可以试试。嘿嘿。
1 2 3 4 5 6 |
void Start() { } |
有测试了一下, 加上 Update LateUpdate FixedUpdate OnGUI 也都可以让勾选框出来。。。但是Awake不行。。
- 本文固定链接: https://www.xuanyusong.com/archives/3130
- 转载请注明: 雨松MOMO 于 雨松MOMO程序研究院 发表
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!
不管脚本的enabled是什么 Awake()方法都会执行 但是其他的就不一样了
本来还想这个问题应该挺难搜到的吧,没想到也能在这里看到答案,感谢
受用啦
学习了。
呃……挂在GameObject上的Script一般是继承自MonoBehaviour,看docs.unity3d.com上关于MonoBehaviour的介绍,有这个说明:“Note: The checkbox for disabling a MonoBehavior (on the editor) will only prevent Start(), Awake(), Update(), FixedUpdate(), and OnGUI() from executing. If none of these functions are present, the checkbox is not displayed.”。 呵呵,要明白脚本前面的勾选框的含义,脚本还是available的,只是是否禁用某几个特定函数而已。
http://docs.unity3d.com/ScriptReference/MonoBehaviour.html
我把start方法去掉,依然有勾选框啊。
什么情况
我刚玩的时候就注意到了,对比一下就知道了。。。
那是不是意味着 不管有没有勾选复选框 Awake方法都会执行.
我今天也发现了这个问题,偶然看到这终于明白了。
呵呵。。
transform里面没有P呢?
顶一下 O(∩_∩)O哈哈哈~
以前也碰到过,有的时候需要调试,结果没这个勾,还着实痛了一下,不过就是没有升入研究就把脚本里面的代码看懂了,所以也就没管这个勾勾了
有时候看到还是疑惑了。现在才了解原来是这样啊?
沙发。。。。发现过脚本没有勾,但是没什么影响就没管过了。。。