制作基于Cocos2d-x的SLG游戏
在游戏开发中,会经常用到一些按钮的隐藏,显示,置灰,不可点击等问题。下面来看一段代码

1. self:getBtn(“lingqu”):setIsVisible(true)
2. self:getBtn(“lingqu”):setIsGrey(true)
3. self:getBtn(“lingqu”):setIsTouchEnable(false)

这段代码巨坑,如果把这段代码改成

1. self:getBtn(“lingqu”):setIsGrey(true)
2. self:getBtn(“lingqu”):setIsTouchEnable(false)
3. self:getBtn(“lingqu”):setIsVisible(true)

这样得执行顺序,那么悲剧就来了, 置灰跟不可点击有的时候会失效。

追究其原因,是因为setIsVisible的顺序问题,如果我们后置为显示,那么对当前按钮之前的操作都不会算数。
希望大家注意别被坑了~~