版本2.2.5
很低的概率随机发生C++丢失注册的lua回调函数的问题。
经过一阵折腾,发现Bug在于:
CCArmature的构造函数中,没有对m_nScriptMovementHandler赋初值。这样,在调用connectMovementEventSignal()时,先进入disconnectMovementEventSignal(),导致一个随机值的lua函数被清除。大部分情况下不发生任何事情,但是如果正好这个随机值取值0~1000范围之内,就有可能错误清除了一个有效的lua函数。
版本2.2.5
很低的概率随机发生C++丢失注册的lua回调函数的问题。
经过一阵折腾,发现Bug在于:
CCArmature的构造函数中,没有对m_nScriptMovementHandler赋初值。这样,在调用connectMovementEventSignal()时,先进入disconnectMovementEventSignal(),导致一个随机值的lua函数被清除。大部分情况下不发生任何事情,但是如果正好这个随机值取值0~1000范围之内,就有可能错误清除了一个有效的lua函数。
这个 bug 真隐蔽,非常感谢!
高手高手高高手
2.2.3也没有初始化,很有用
赞!3.0已经没有这个问题了