位置: 编程技术 - 正文

项目总结之触摸问题分析

编辑:rootadmin

推荐整理分享项目总结之触摸问题分析,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

项目总结之触摸问题分析

DionysosLai(@qq.com) //

在游戏开发领域,有几个问题,一定要提前进行真机测试,越早进行真机测试,后期修改代码越容易。一个问题,就是触摸问题。

为什么触摸问题要尽早进行真机测试呢?这是由于,只有这真机运行情况下,才能实现多点触摸问题(想想多个手指在你的游戏上滑动,各种各样的bug都会一一呈现出来)。同时,有些特定的触摸响应,比如touchCanclled事件响应,也只有在真机情况下才能出现。至于如何重现touchCancle事件引起的bug,待会儿进行分析。

触摸事件响应响应混乱问题:

之前做过项目里面做过一个游戏,游戏内容是关于时下最热门游戏类型之一:三消类游戏。由于,做的是儿童教育产品,因此在难度上会降低。所谓的三消,有时候只需要点击一个物品,也能够消除,同时又必须可以滑动选定多个物品,同时消除。因此,比市场上三消游戏稍微复杂一点。

由于点击一个物品也能够消除,因此出现了狂点屏幕情况。后来,经过测试,发现游戏一个手指点击选中物品时,另一个手指选中另一个物品,同样能够进行消除,而原来选中的物品,状态一直处于touchMove中。这明显是没有响应了touchEnd事件了。

经过分析,问题在于touchEnd事件被其他触摸给响应了。后来,在项目中的另一个游戏,实现的是一个拖动物品操作,即物品跟着手指移动。这个响应的是简单的单点触摸。在开发过程中,发现一个有趣问题,就是一个手指拖动物品时,另一个手指去滑动屏幕,有时候物品会跟着另一个手指移动了。这些问题很普遍存在,有时候也是一个游戏乐趣。Dr.Panda游戏《Toy Cars》,就出现了这种情况,不过感觉很好玩。

要解决上面问题出现,首先要明白一点就是:每个触摸都是有ID&#;,这个ID&#;是这个触摸的身份标识,只有ID&#;一直,才是原来那个手指的触摸信息。理解这点,就很容易解决触摸混乱问题了。

在单点触摸中解决触摸混乱问题:

由于单点触摸,touchBegan只有返回true,才能将触摸信息向下传递。因此触摸ID&#;设定必须只有在返回true时,才能设定。

类&#;代码如下:

项目总结之触摸问题分析

在多点触摸中解决触摸混乱问题:

在多点触摸中,涉及到到多个触摸ID&#;,因此会显得比较灵活。仅介绍第一个触摸ID处理,其他类&#;。代码如下:

注:pTouches->count()==1,实际作用是将多点变成了单点触摸了

touchCanclled事件:

一般我们做触摸事件处理时,很少会响应touchCanclled事件,因为这一个事件不是有用户操作产生的,一般是由程序产生。但是,如果我们不做响应touchCanclled事件,轻则游戏拖动物品出现混乱,重则导致游戏无法进行了。这得看大家自己做的容错处理能力了。

如何重新啊touchCancle事件引起的bug呢?

操作如下:在拖动或者操作游戏过程中,最好是在响应touchMove事件中,这时将按下设备的开机键(例如平板的锁屏键),那么整个设备将暂时关闭,我们的应用也将响应了touchCancle事件了,再次按下开机键,看看自己的游戏,相信会有令你惊讶的事情发生。

如何避免这个问题发生呢?很简单,将touchEnd中的代码复制一遍到touchCancle中即可。

触摸问题,在我整个项目过程中,目前就遇到这两个比较严重、难以发现的问题。至于其他诸如触摸优先级,相信大家都会,还比如在触摸中一般不写或者少些逻辑处理问题,这些大家也应该懂得。

祝大家平安节快乐!!!

关于cocos2dx多点触摸和单点触摸 开发项目的时候,在一个具有cocostudio组建imageview的界面上,要实现多点触摸,开始我按照教程注册了多点触摸事件,但是,在测试过程中,发现对于注

关于cocos2dx空包的大小测试 公司刚开始用cocos2dx开发游戏时,老板问我,cocos2dx开发出来的游戏大概有多大,我当时一时竟然没有一个很准确的答案,只好模糊的说空包估计几兆的

cocos2dx移植到android碰到的问题 记得,刚开始用cocos2dx开发的时候,我一直都是在win平台上跑程序,有一天,我打算把项目移植到android上试试,虽然网络上的教程一大堆,但是我记得

标签: 项目总结之触摸问题分析

本文链接地址:https://www.jiuchutong.com/biancheng/372595.html 转载请保留说明!

上一篇:Quick cocos2dx-Lua(V3.3R1)学习笔记(8) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧

下一篇:关于cocos2dx多点触摸和单点触摸(cocos2dx schedule)

  • 增值税开票软件ukey版
  • 印花税退税减半征收会计分录怎么写?
  • 跨区域涉税事项反馈表怎么填
  • 一般企业和小企业会计准则的区别
  • 其他债权投资减值账务处理
  • 足球俱乐部买卖球员的程序
  • 国家金库是什么税费
  • 过了认证期的发票怎么办
  • 2017年金税盘服务费已全额减免,勾选系统怎么处理
  • 延期申报增值税罚款
  • 2021最新车船税
  • 十分钟看懂财务报表
  • 参加会议属于什么工作类别
  • 工会账户销户
  • 控股子公司是
  • 一寸照片尺寸是几乘几
  • win10 net framework 3.5 离线
  • 股东未实缴资本,因为经营困难借给公司钱,可以要求返还
  • bhvc.exe
  • powerremind.exe
  • vue public assets
  • php获取api内容
  • 同步和异步的关系
  • 礼的部首是什么部
  • php能开发微信小程序吗
  • 外购货物用于公益性捐赠
  • 银行承兑汇票的付款人是谁?
  • yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
  • antd:ConfigProvider+getPopupContainer解决筛选框遮挡问题(及其他浮层问题)
  • 2022年数学建模获奖结果
  • 中草药进销差价会计分录
  • 资产负债表各项目年初余额栏内各项数字
  • python datetime把日期转换字符串
  • 固定资产多少钱以上才要计提折旧
  • 企业退税要用税吗
  • 增值税专用发票上注明的价款含税吗
  • 资产负债表的累计折旧
  • 客户发票弄丢了应该如何补救
  • 小规模纳税人是小微企业吗
  • 公司应知应会的内容是什么
  • 成本利润率指的是
  • mysql 局域网访问权限
  • 资产负债表中应收账款的计算公式
  • 以前年度多交增值税账务处理
  • 管理费用的是
  • 政府会计制度中累计盈余怎么计算
  • 发票红冲操作流程
  • 住房公积金指的是什么意思
  • 个人承担社保有哪些
  • 实收金额少于发票入账
  • 企业刚注册成功又要注销要什么手续
  • 公司配股对股价的影响
  • 转让无形资产使用权税率
  • 企业接受供应单位提供劳务而发生的应付账款
  • 银行涉外收入申报单
  • 在途物资材料采购原材料的区别
  • 在linux系统中
  • ubuntu系统启动过程
  • linux中cat命令的用法含义
  • 64位win10预览版10565更新补丁KB3105208后蓝屏怎么办?
  • xp系统的cad
  • rhel配置网卡文件和图形界面
  • linux文件latin1转换为utf
  • linux系统的服务器
  • linux主要充当什么样的服务角色
  • windows7开始菜单
  • 禁用强制驱动程序签名有什么用
  • 如何理解shell
  • python%i
  • jquery 元素
  • 安卓版影音播放器哪个好用
  • unity3d 画线
  • java轻松学
  • Unity3D Vuforia Android 拨打电话
  • javascript cookbook
  • python中os模块有什么作用
  • Python Sqlite3以字典形式返回查询结果的实现方法
  • 自己搭配电脑
  • 选择排序图解过程
  • 广州市地方税务局 社保费申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设