位置: 编程技术 - 正文

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能做游戏吗)

  • 增值税的专用发票含税吗
  • 支付给派遣员工的工资计入应付职工薪酬吗
  • 转出多交增值税和转出未交增值税怎么理解
  • 固定资产进项税怎么入账
  • 固定资产清理期末余额在借方是什么意思
  • 国税地税合并后叫什么名称
  • 连号发票不许报销的具体发票类型
  • 展厅出租或招商
  • 预提费用和待摊费用是根据以下哪项原则设置的会计科目
  • 餐饮研发费用确认条件
  • 怎么判断企业是一般纳税人还是小规模
  • win11怎么设置桌面显示我的电脑
  • 设计师用windows什么版本
  • Secure Boot什么意思?BIOS中Secure Boot灰色无法更改解决方法详解
  • 应付账款暂估借方余额怎么处理
  • 会计基础工作是会计工作的基本环节
  • 上年度多计提的工资
  • 怎样判断事情
  • 加班车费报销计入什么科目
  • 垫资计入什么会计科目
  • 用php做一个表格
  • gnaupdaemon.exe是什么
  • 嘴型融合 wav2lip 升级版
  • php的fopen
  • 物业费可以分期付款吗
  • 财税[1994]26号
  • 闭包 python
  • Java+JSP+Mysql+Tomcat实现Web图书管理系统
  • zip命令详解
  • python里pip
  • 现金流量表季报本月数是三个月的数据吗
  • 增值税普通发票和电子普通发票的区别
  • 小规模纳税人如何开专票
  • 收银算不算财务工作
  • mysql从一张表更新到另一张表
  • 织梦怎么改网站主页
  • 纳税信用等级区别在哪
  • 生产型出口企业的概念
  • 主管盾和制单盾是是转账使用的U盾吗?
  • 小企业需要做计算机吗
  • sqlplus分页查询
  • mysql开启事务语句
  • 房地产开发企业资质证书
  • 收到银行承兑汇票怎么兑现
  • 公对公转账在手机上怎么操作
  • 预提费用为什么是负债
  • 进项转出再转入
  • 收不回来的应收账款会计分录
  • 递延纳税筹划策略研究
  • 低值易耗品和物资的关系
  • 小规模纳税人能开专票吗2023
  • 公司市场部职能
  • 会计档案步骤
  • centos cmake安装
  • windows 专业版10安装后文件会丢失嘛
  • fedora win10
  • win7系统打不开网络和共享中心
  • win8系统搜索在哪里
  • nginx 虚拟ip
  • 删除xp本地保存的视频
  • win7系统笔记本怎么连接wifi
  • 程序中map是什么意思
  • kdeskcore.exe是什么
  • linux系统怎么增大磁盘io
  • 删除linux系统命令
  • c#程序代码大全
  • js信息框
  • JQuery 又谈ajax局部刷新
  • unity热更新一般更新什么
  • js表达式语法大全
  • 删除批处理命令
  • unity鼠标控制物体移动
  • unity 2danimation
  • 浅谈建筑地基基础加固施工技术亲
  • javascript要怎么学
  • 深圳海吉星管理处电话
  • 淄博新农合怎么网上缴费
  • 国家税务贵州省税务
  • 外籍人个人所得税汇算清缴流程
  • 增值税可以抵扣多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设