否极泰来

导航

cocos2d - 多点触摸

第一步,在applicationDidFinishLaunching方法加入:

1 [viewController.view setMultipleTouchEnabled:YES];//开启多点触摸支持  


第二步:

 1 //监听首次触发事件    
2 - (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
3 {
4 NSSet *allTouches = [event allTouches];//获得所有触摸点
5
6 int count = [[allTouches allObjects] count];//当前触摸点数量,单点触摸为1.
7 if (count == 1) {//单点触摸
8 UITouch *touch1 = [[allTouches allObjects] objectAtIndex:0];//获得第一个触摸点
9 switch ([touch1 tapCount]) {//判断是单击还是双击
10 case 1:
11 NSLog(@"单击\n");
12 break;
13 case 2:
14 NSLog(@"双击\n");
15 break;
16 }
17 }else if (count == 2) {//多点触摸
18 //
19 }
20
21 return YES;
22 }

也就是通过event参数得到一个NSSet,这个NSSet保存了所有的触摸点。

每次双击事件之前都有一个单击时间。



posted on 2012-03-13 11:39  否极泰来  阅读(918)  评论(0编辑  收藏  举报