位置: 编程技术 - 正文

Cocos2d : 模拟IOS时间选择器(循环)(cocos2dx 2.2.2)

编辑:rootadmin

推荐整理分享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?

Cocos2d : 模拟IOS时间选择器(循环)(cocos2dx 2.2.2)

不是!而是使用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 转载请保留说明!

上一篇:《Cocos2d学习之路》一,前序和闹钟(cocos2djs教程)

下一篇:可在 html5 游戏中使用的 js 工具库(html5能做游戏吗)

  • 出租房怎么算平方多少
  • 无票收入小规模怎么报增值税
  • 劳务公司交企业所得税吗
  • 所得税季报什么时间扣款
  • 工会经费计税基数包含支付职工的辞退福利
  • 代开运输发票是否预征企业所得税?
  • 营业成本利润率是指
  • 社保年年递增
  • 销售废旧物资增值税新政策
  • 海关缴款书税号
  • 受托加工费的成本都有什么
  • 残疾人保障金缴纳比例是月1.5%
  • 特许权使用费预扣预缴计算方法
  • 业务招待费的进项可以抵扣吗
  • 广告公司可以开维修费吗
  • 增值税的税负率的计算公式
  • 关于金融行业的经典句子
  • 代销商品
  • 未分配利润期末余额怎么算出来
  • 研发部门的办公费属于研发费的哪个类别
  • 银行余额不平怎么快速找原因
  • 公司有物业管理部门吗
  • 联想笔记本电脑官网旗舰店
  • macbookzen
  • 按揭贷款到账时间
  • php vr
  • 投资性房地产转换日公允价值大于账面价值
  • 出口押汇算贷款吗
  • 银行存款总账怎么登记图片
  • 贷记卡怎么还利息
  • php生成二维码海报
  • 数字图像处理-应用篇
  • 毫米波雷达的硬件构成
  • vue面试题2020
  • 毕业设计基于web难还是JAVA
  • 专项应付款怎么转固定资产
  • 在建工程预付款超过审计价怎么办
  • 企业销售旧固定资产税票开票
  • 单位购日用品计提折旧吗
  • 分期收款销售产品
  • php怎么修改当前用户的密码
  • 企业合并财务报表论文
  • 进出口企业需要英文公章吗
  • 营业外收入汇算清缴时也得计入收入
  • 个体户年报纳税一般填多少合适
  • 个人所得税征税对象是什么
  • 企业汇算清缴必须要做审计吗
  • 债务重组损失如何做会计分录
  • 创业带动就业补贴是给企业的还是员工的
  • 政府代建工程
  • 公司基本户的钱怎么用
  • 企业注销时实收资本清算时要作资产处置收益交所得税吗
  • 产品生产完工入库
  • 组织员工旅游的租宿费的税额是什么
  • 印花税可以去地方申报吗
  • 应交税费对应的会计科目
  • sql server 2012r2
  • mysql数据库内存占用高
  • mysql查询结果是什么类型
  • 访问和更改关系的区别
  • mysql5.7免安装版
  • win7系统怎么设置开机启动项
  • 关于激活剂的叙述正确的是
  • 安装win7系统后进不了系统
  • windows8如何添加打印机
  • jquery自执行
  • jQuery+PHP+MySQL二级联动下拉菜单实例讲解
  • istio源码解析
  • android app 开发框架
  • ubuntu下安装visual studio
  • python os模块
  • js作用域和作用域链的理解阮一峰
  • python抓取手机号软件
  • javascript入门基础
  • javascript基础
  • python读取linux文件
  • 深圳国家税务总局
  • 广东etc扣费异常打哪个电话
  • 出口退税范围的货物
  • 12366是哪里的税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设