从unity入坑到Layabox,真的是一路踩坑啊,今天这个坑叫做 脚本禁用 enabled
问题一:
首先看官方文档 https://ldc2.layabox.com/doc/?nav=zh-ts-4-18-3
如上图,写的很清楚,enabled 设置为true 调用 onEnable(),否则调用onDisable();
但是当我们实际操作的的时候,却不是这样的,enabled 设置为 false后,后面再设置enable时,不管是false还是true,onEnable()和onDisable()函数都不会调用,这是怎么回事呢?
问题解决方案就是把两个函数都加个 _ 下划线前缀就可以了,如_onEnable(),_onDisable(),把函数设置成属性调用方式就行。
但是这个坑没这么简单,这样会出现另个玄学问题,脚本里面的onUpdate()函数失效了,这个锤子引擎用起来气死人,哈哈,然后只能写个计时器代替onUpdate()了
问题二:
这个问题比较坑,找不到原因所在。
通常我们会在onStart()函数中绑定鼠标事件,在onDistroy()函数中解除绑定,
但是玄学的事情发生了,当我把脚本enabled 设置为 false时,绑定好的鼠标事件无效了,需要重新绑定,也不知道触发的哪里!!!
知道原理的同学可以告知一下在下,感激不尽!!!