首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

Cocos2d中平添手势支持的三种方法

2012-09-07 
Cocos2d中添加手势支持的三种方法最近一直琢磨在Cocos2d里添加手势的功能,找了一些资料加上自己的理解,整

Cocos2d中添加手势支持的三种方法

最近一直琢磨在Cocos2d里添加手势的功能,找了一些资料加上自己的理解,整理出了三种方法和大家分享。

第一种,很简单,就是知易cocos2d-iPhone教程-04所介绍的(其实这并不是真正的手势,只是也能实现部分手势功能而已),代码如下:

1) 单击、双击处理

+(id) scene{//给层添加手势支持CCScene *scene = [CCScene node];// 'layer' is an autorelease object.HelloWorld *layer = [HelloWorld node];UIPanGestureRecognizer *gestureRecognizer = [[[UIPanGestureRecognizer alloc] initWithTarget:layer action:@selector(handlePanFrom:)] autorelease];    AppDelegate *delegate=(AppDelegate *)[UIApplication sharedApplication].delegate;[delegate.viewController.view addGestureRecognizer:gestureRecognizer];// add layer as a child to scene[scene addChild: layer];// return the scenereturn scene;}//手势识别函数- (void)handlePanFrom:(UIPanGestureRecognizer *)recognizer {        if (recognizer.state == UIGestureRecognizerStateBegan) {                    CGPoint touchLocation = [recognizer locationInView:recognizer.view];        touchLocation = [[CCDirector sharedDirector] convertToGL:touchLocation];        touchLocation = [self convertToNodeSpace:touchLocation];                        //实现的效果..             } else if (recognizer.state == UIGestureRecognizerStateChanged) {                    CGPoint translation = [recognizer translationInView:recognizer.view];        translation = ccp(translation.x, -translation.y);        //实现的效果..         [recognizer setTranslation:CGPointZero inView:recognizer.view];                } else if (recognizer.state == UIGestureRecognizerStateEnded) {                //实现的效果..                    }        } 

以上是本人总结的三种在Cocos2d里添加手势支持的方法,不妥之处欢迎各位指教!

热点排行