从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时,绑定好的鼠标事件无效了,需要重新绑定,也不知道触发的哪里!!!

 

知道原理的同学可以告知一下在下,感激不尽!!!