怎样在 Cocos2d里面使用 UITapGestureRecognizer来处理单击和双击

原创 2012年03月21日 17:16:56

              怎样在 Cocos2d里面使用 UITapGestureRecognizer来处理单击和双击


            在CCLayer的头文件中定义:
        UITapGestureRecognizer *singleTap;

       .m文件中:
       
        //处理  单击
        singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:
                     @selector(handleSingleTap:)];
        
        singleTap.numberOfTapsRequired=1;
        singleTap.numberOfTouchesRequired=1;
        
        [[[CCDirector  sharedDirector] openGLView] addGestureRecognizer: singleTap];
        [singleTap release];


    如果 要处理双击:
    
        doubleTap.numberOfTapsRequired = 2;
        doubleTap.numberOfTouchesRequired = 1;

   下面是 响应函数:
   
-(void)  handleSingleTap:(id)sender;

-(void)  handleSingleTap:(id)sender
{
    UNUSED(sender);
    NSLog(@"handleSingleTap  \r\n");
    
    CGSize screenSize = [CCDirector sharedDirector].winSize; 
    CGPoint  point=[singleTap locationInView:[[CCDirector  sharedDirector] openGLView]];
	CGPoint  glLocation=[[CCDirector sharedDirector] convertToGL:point];
    
    //判断点击的是否是“想要的”的区域
    bool  bSingleClickTableForme=false;
    CGRect   tableFormeRect=CGRectMake(5.0f, 10.0f, 125.0f, 58.0f);
    if ( CGRectContainsPoint(tableFormeRect, glLocation)==true) 
    {
        bSingleClickTableForme=true;
    }
}


需要注意的是,如果给一个Layer加上了Singletap的手势识别后,将会导致界面上面的其他组件比如:CCMenu不再能响应点击,因为点击消息全部被手势所截获,所以一般不要使用SingleTap,但是使用DoubleTap是没有什么问题的。一定要实现类似SingleTap的类似效果,可以处理TouchEnd事件,然后在里面判断坐标位置来处理。



        


       
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet

转自:http://www.cnblogs.com/andyque/archive/2011/03/18/1988097.html  免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互...

(译)在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet

免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作...

(译)在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet

免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作...

(译)在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet

免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何纠纷,均与本博客所有人、发表该翻译稿之人无任何关系。谢谢合作...

(牛文)(译)在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet

转载自:http://www.cnblogs.com/andyque/archive/2011/03/18/1988097.html   免责申明(必读!):本博客提供的所有教程的翻译原...

1.在cocos2d里面如何使用texture-packer和像素格式来优化spritesheet.html

转载:http://blog.devdiv.com/ 免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播。同时,转载时不要移除本申明。如产生任何...

Cocos2D-X2.2.3学习笔记8(处理精灵单击、双击和三连击事件)

我们这节la

(译)在cocos2d里面如何使用Texture Packer和像素格式来优化spritesheet

翻译原文这里:http://www.cnblogs.com/zilongshanren/archive/2011/03/18/1988097.html 英文原文我也看过,但是还是有很多不好理解的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)