quickcocos2dx scheduler妙用
2016-02-19 14:16
435 查看
这货前一篇文章讲了它的坑,这次可以着实利用它的特性了。
任何事情都分为2面,不可能全是差的。
好了,我们在LayerA左上角有一个按钮,点击以后进入LayerB.
LayerB左上角相同位置也有一个按钮,点击以后从LayerB返回LayerA.
由于LayerB从加载到出现需要花费大概2秒钟,但是这个时候那些按钮却是可以点击的。
此时会发生一个特别神奇的现象,可以猛点LayerA上面的左上角按钮。而且整个界面会非常卡。
原因在于quick中加载是异步的,加载完成以后就返回了,然后交给c++去渲染。
但是加载完了还没有渲染出来,但是按钮的作用域却是出来的,就是说即看不见的情况下也可以点击LayerB左上角的按钮,为了解决这个问题,可以利用scheduler来进行延时绑定按钮事件。
在onEnter以后写一个0秒的延时来绑定按钮事件,这样子的话这个延时事件会在UI被渲染完成以后再处理,就达到了我们在看到该窗口以后才能点击按钮的目的!
https://www.processon.com/i/568c6ea4e4b0e51d149a085f
这个网站解决了大家开始设计阶段的问题,轻量级的各种设计模型,强烈推荐
任何事情都分为2面,不可能全是差的。
好了,我们在LayerA左上角有一个按钮,点击以后进入LayerB.
LayerB左上角相同位置也有一个按钮,点击以后从LayerB返回LayerA.
由于LayerB从加载到出现需要花费大概2秒钟,但是这个时候那些按钮却是可以点击的。
此时会发生一个特别神奇的现象,可以猛点LayerA上面的左上角按钮。而且整个界面会非常卡。
原因在于quick中加载是异步的,加载完成以后就返回了,然后交给c++去渲染。
但是加载完了还没有渲染出来,但是按钮的作用域却是出来的,就是说即看不见的情况下也可以点击LayerB左上角的按钮,为了解决这个问题,可以利用scheduler来进行延时绑定按钮事件。
在onEnter以后写一个0秒的延时来绑定按钮事件,这样子的话这个延时事件会在UI被渲染完成以后再处理,就达到了我们在看到该窗口以后才能点击按钮的目的!
https://www.processon.com/i/568c6ea4e4b0e51d149a085f
这个网站解决了大家开始设计阶段的问题,轻量级的各种设计模型,强烈推荐
相关文章推荐
- cocos2dx C++ 绑定到 Lua时两个问题
- cocos ide 调试lua 程序自动关闭问题的解决
- 使用BabeLua在cocos2d-x中调试Lua
- cocos2d-x 3.9 android studio项目命令行打包
- Cocos2d-x LayoutComponent的使用
- Cocos2d-x Layout使用三
- Cocos2d-x Layout的使用二
- Cocos2d-x Layout使用
- cocos2dx的runAction: 重复执行,多个动作连接执行,多个动作同时执行的实现(lua的应用)
- cocos2dx 3.x 之移植到android平台
- cocos2d 编译显示MSBuild3073
- 虚拟按键隐藏之后cocos游戏的适配问题
- Cocos2d-x 3.x 场景切换
- cocos2dx-js中判断点在多边形当中
- KBEngine Cocos2d JS 客户端启动过程
- cocos android分析
- cocos2dx3.2 异步载入和动态载入
- cocos2dx的runAction: 反复运行,多个动作连接运行,多个动作同一时候运行的实现
- KBEngine 编译、运行、调试
- xcode 4.5中Cocos2d 屏幕方向问题