读书人

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

发布时间: 2012-09-07 10:38:15 作者: rapoo

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里添加手势支持的方法,不妥之处欢迎各位指教!

读书人网 >操作系统

热点推荐