有沒有人設法讓手勢識別在cocos-2d中工作?cocos2d-iOS - 手勢識別器
我在這裏讀了後聲稱已經實現了,在這裏:http://www.cocos2d-iphone.org/forum/topic/8929
我從git的樞紐在這裏打補丁:https://github.com/xemus/cocos2d-GestureRecognizers/blob/master/README
我做了CCSprite
一個子類(這是CCNode
一個子類):
-(id) initWithTexture:(CCTexture2D*)texture rect:(CGRect)rect {
if((self=[super initWithTexture:texture rect:rect]))
{
CCGestureRecognizer* recognizer;
recognizer = [CCGestureRecognizer
CCRecognizerWithRecognizerTargetAction:[[[UITapGestureRecognizer alloc]init] autorelease]
target:self
action:@selector(tap:node:)];
[self addGestureRecognizer:recognizer];
}
return self;
}
委託方法:
- (void) swipe:(UIGestureRecognizer*)recognizer node:(CCNode*)node
{
NSLog(@" I never get called :(");
}
我的龍頭事件永遠不會被調用。
這個有用嗎?手動識別手勢進行手勢識別有多困難?
+1對於cc的回答以上,這是正確的方法。您可以用這種方式使用所有UIGestureRecognizer子類來檢測平底鍋,捏,輕敲手勢。您還可以使用UILongPressGestureRecognizer和狀態大小寫UIGestureRecognizerStateChanged來識別拖動。 – KomodoDave 2011-04-24 02:02:00
不錯,乾淨,可愛。兩個小問題:1. locationInView返回UIKit座標系中的座標,這些座標系在使用前應轉換爲GL座標,例如:p = [[CCDirector sharedDirector] convertToGL:[recognitionizer locationInView:[CCDirector sharedDirector] .view]] ;` 2. openGLView自Cocos2D 2.0開始棄用,它已被`[CCDirector sharedDirector] .view`取代。 – Eliot 2012-07-26 01:40:28