位置: 编程技术 - 正文
推荐整理分享Cocos2d : 模拟IOS时间选择器(循环)(cocos2dx 2.2.2),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:cocos2d手机版,cocos moba,cocos2d iphone,cocos moba,cocos moba,cocos模拟器,cocos simulator,cocos2d iphone,内容如对您有帮助,希望把文章链接给更多的朋友!
使用引擎:cocos2d-js 3.0
使用语言:javascript
运行平台:手机web
---------------------------------------------------------------
初步分析:
操作过程:
滑动,转动,放缓速度,平衡,停止。
时间选择器的功能分析:
1. 滑动
2. N个选项结果(eg. 0~)
3. 部分数字可见
4. 根据最近原则,自动平衡到结果item
5. ...
--------------------------------------------------------------------
作为一名合的Cocos2d程序员,脑袋第一反应至少应该是:ScrollView、ClippingNode。
于是我们立刻面临两种选择,一种是继承ScrollView的做法,或者是使用ClippingNode自己造轮子。
首先不说ScrollView有多么繁杂的私有变量,最不利的是,它的整个滑动逻辑和时间选择器是不同的,它是有尽头的。因此,我们如果选择继承的做法,那么无疑工作量会比较多(修改ScrollView逻辑流程)。
其实循环滚动的逻辑一点也不复杂,我们没必要去使用任何已有的滑动类控件,无论是扩展性还是运行效率,这个轮子自己造才是最好的选择。
那么我们使用ClippingNode?
不是!而是使用ccui::Layout。最终我选择它的原因是,它不需要设置stencil,直接一句话即可设置成为裁剪(setClippingEnabled),减少子父节点坐标计算的复杂性。
--------
UI如下:
--------
--------
核心点:
--------
1. 鉴于效率和方便性,使用一个contentNode来管理所有item。
2. 通过_bMoveing和_bTouching标识来处理触摸和移动之间相互影响。
3. 循环滚动的实现逻辑:向上移动,那么最上的item会移动到最下,向下则反之。
4. 在操作结束之后,做矫正平衡(准确移动到固定的位置)。
--------
代码实现:
--------
----------------------------------由于设置了每秒滑动距离的限制,因此代码在手机web平台几乎没有效率问题。
在Native平台可以放宽一点,让滑动更爽快~
最后,由于小弟知识水平有限,代码中有各种不规范的地方望各位大神们多多包含。
可在 html5 游戏中使用的 js 工具库 可在html5游戏中使用的js工具库作者:木頭时间:September,分类:Utilities,Game使用cocos2d-js3.0开发游戏项目两三个月,积累了几个有意思的工具库,在此做一
cocos2d-x window实现鼠标移动 键盘事件 用cocos2d开发windows游戏.需要处理按键消息,cocos2d源代码目录的CCEGLView.h类中提供了一个接口voidsetAccelerometerKeyHook(LPFN_ACCELEROMETER_KEYHOOKlpfnAccelerometerKeyHook);
在cocos2d-js实现自动绑定cocostudioUI控件与事件 一.起因在客户端游戏开发中最让人恶心的工作就是UI相关的东西,虽然有了像cocostudio这样的可视化工具,但界面中有大量需要由代码访问的控件的时候
标签: cocos2dx 2.2.2
本文链接地址:https://www.jiuchutong.com/biancheng/369139.html 转载请保留说明!友情链接: 武汉网站建设