【iOS-Cocos2d游戏开发之五】【2】多触点与触屏事件详解(单一监听、事件分发)...
那么大概介绍了监听事件后,那么触屏中最关心的就应该是多触点啦;
- //-----获取多点触摸
- NSSet *allTouches = [event allTouches];
- UITouch *touchOne = [[allTouches allObjects]objectAtIndex:0];
- UITouch *touchTwo = [[allTouches allObjects]objectAtIndex:1];
- //...类推
获取多点狠简单,那么下面再将基本常用到的几个判断写下:1-判断用户单击还是双击(针对一个触点)
- if([allTouches count]==1) {
- UITouch *touchOne = [[allTouches allObjects]objectAtIndex:0];
- switch ([touchOne tapCount]) {
- case 1:
- //单击
- CCLOG(@"%@",@"单击");
- break;
- case 2:
- //双击
- CCLOG(@"%@",@"双击");
- break;
- }
- }
2-判断用户两个触点之间是合拢还是分开(针对两个触点)
- if([allTouches count]==2) {
- //适当修改处理,不能同时取,否则肯定一样的啦(可以一个在began 一个在end)
- UITouch *touchOne = [[allTouches allObjects]objectAtIndex:0];
- UITouch *touchTwo = [[allTouches allObjects]objectAtIndex:1];
- CGFloat *disFirst =[self distance:[touchOne locationInView:[self view]]
- todistance:[touchTwo locationInView:[self view]]];
- UITouch *touchOne = [[allTouches allObjects]objectAtIndex:0];
- UITouch *touchTwo = [[allTouches allObjects]objectAtIndex:1];
- CGFloat *disFinal =[self distance:[touchOne locationInView:[self view]]
- todistance:[touchTwo locationInView:[self view]]];
- if (disFirst>disFinal) {
- CCLOG(@"%@",@"合拢");
- }else{
- CCLOG(@"%@",@"分开");
- }
- }
这里我就粗略的写在一起,判定两个触点是否合拢其实就是用户刚触屏时记录两点之间的距离记做disFirst,然后在两个触点离开屏幕(或者移动事件中)的时候计算
当前的两个触点的距离disFinal,那么最后根据disFirst与disFinal距离关系就能知道是合拢还是分开;
(CCLOG 是cocos2d封装的打印方法,此种打印在编译发布正式游戏程序的时候是不会编译到程序中的,但是NSLOG会一直存在!要注意!)
最后给出两个函数,用于计算不同方式监听的函数中获取(转换)坐标的,因为cocos2d是openGL进行搭建的框架,所以需要坐标转换;
- +(CGPoint) locationFromTouches:(NSSet*)touches
- {
- return [self locationFromTouch:[touches anyObject]];
- }
- +(CGPoint) locationFromTouch:(UITouch*)touch
- {
- CGPoint touchLocation = [touch locationInView: [touch view]];
- return [[CCDirector sharedDirector] convertToGL:touchLocation];
- }
两个方法一看就能看出区别,一个是UITouch的,一个是NSSet,一个是单一监听,一个是分发监听;
ok,本章就到这里~~~(下周进入封闭开发了,吃睡都在公司了,咳咳,带上我的多啦a梦的小裤衩,娃哈哈~)
【iOS-Cocos2d游戏开发之五】【2】多触点与触屏事件详解(单一监听、事件分发)...相关推荐
- 【iOS-Cocos2d游戏开发之五】多触点与触屏事件详解(单一监听、事件分发)
李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/450.html------- ...
- 初学者开发iOS游戏的入门必备用书——iOS 5 cocos2d游戏开发实战(第2版)
如果想接触iOS游戏开发,今天笔者就推荐一本"大杀器"--<iOS 5 cocos2d游戏开发实战(第2版)>(当当链接) 为零基础的"设想过自己写个电脑游戏 ...
- iOS 5 cocos2d游戏开发实战(第2版)
<iOS 5 cocos2d游戏开发实战(第2版)> 基本信息 作者: [美]Steffen Itterheim Andreas Low [作译者介绍] 译者: 同济大学苹果俱乐部 丛书名 ...
- 【iOS-Cocos2d游戏开发之五】【1】多触点与触屏事件详解(单一监听、事件分发)...
本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/450.html ...
- Cocos2d游戏开发之如何解包获得pvr.ccz中的美术资源
Cocos2d游戏开发之如何解包获得pvr.ccz中的美术资源 在大部分时候,Cocos2d游戏会将美术资源打包以减轻性能要求,提高加载速度.而如果我们需要获得其中的美术资源,就得解包.这里以plis ...
- [转]cocos2d游戏开发,常用工具集合
cocos2d游戏开发,常用工具集合 原文地址:http://www.cocoachina.com/bbs/read.php?tid-68951.html 位图字体工具Bitmap Font Tool ...
- iOS开发——使用Charles进行https网络抓包详解
我在前面两篇博客中<网络抓包工具Charles的介绍与使用><iOS开发--使用Charles进行http网络抓包详解>对Charles的http抓包进行了详细的讲解.今天我们 ...
- iOS 开发 Certificate和Code Signing--证书与签名--详解
iOS 开发 Certificate和Code Signing–证书与签名–详解 1.Certificate-证书 iOS 开发 证书–根证书/申请证书/开发(发布)证书–详解 2.Code Sign ...
- 转:iOS应用程序生命周期(前后台切换,应用的各种状态)详解
iOS应用程序生命周期(前后台切换,应用的各种状态)详解 分类: iOS开发进阶2012-10-08 15:35 42691人阅读 评论(30) 收藏 举报 iosapplication任务anima ...
最新文章
- Mysql学习笔记(七)查(补充)
- 《Saas模式云原生数据仓库应用场景实践》激活数据生产力,让分析产生价值
- swool tcp mysql_swoole/mysql(异步)
- linux-组管理-添加组-删除组
- GitH2月份开源项目
- Educational Codeforces Round 68 (Rated for Div. 2)-D. 1-2-K Game
- JAVA netty 定时任务_Netty HashedWheelTimer 定时任务调用
- java mat转csv_MATLAB数据保存成其他格式文件(.csv .xlsx .txt等)通用函数[faruto版本]
- 风险评估资产重要性识别_基于数据安全的风险评估(一):数据资产识别、脆弱性识别...
- 世界上最好的加密软件
- 2021年西式面点师(初级)新版试题及西式面点师(初级)考试试卷
- 360全景图制作的原理是什么?有哪些必备的装备?
- 基于区块链技术,电子商务平台将提高安全性和透明度
- 小沙的长路 【欧拉图】
- 4412 nfs网络设置
- 文本框中灰色提示性文字
- 计算机应用看法思维导图,思维导图在中职计算机教学中的应用与研究——以《计算机应用基础》为例...
- 6、分析Linux内核创建一个新进程的过程
- DIY诺基亚N73的耳机接口变3.5mm耳机接口
- 安徽省计算机java二级,[2018年计算机二级考试《JAVA》章节练习题]安徽省计算机二级考试报名时间...