Cocos-2d'de jest tanımayı herkes çalıştırabilir mi?cocos2d-iOS - Hareket algılayıcıları
talep burada bir yazı okumaburada, bunu elde ettik: http://www.cocos2d-iphone.org/forum/topic/8929
burada git göbeğinden yamalı: I CCNode
bir alt sınıfıdır CCSprite
bir alt sınıfı (yapılan
https://github.com/xemus/cocos2d-GestureRecognizers/blob/master/README):
-(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;
}
temsilci yöntemi:
- (void) swipe:(UIGestureRecognizer*)recognizer node:(CCNode*)node
{
NSLog(@" I never get called :(");
}
Dokunma olayım hiçbir zaman aranmaz.
Bu işe yarayan var mı? Kaydırma tespiti için manuel olarak jest tanımayı yapmak ne kadar zor?
+1, cc'nin yukarıdaki yanıtı için bu doğru yöntemdir. Tüm UIGestureRecognizer alt sınıflarını bu şekilde tava, tutam, dokunma hareketlerini algılamak için kullanabilirsiniz. UILongPressGestureRecognizer'ı, sürüklemeyi algılamak için belirlenen durum bilgisi olan UIGestureRecognizerStateChanged ile de kullanabilirsiniz. – KomodoDave
Güzel ve temiz, güzel. İki küçük sorun: 1. locationInView, UIKit koordinat sisteminde koordinatları döndürür, bunlar kullanmadan önce GL koordinatlarına dönüştürülmelidir, örn: p = [[CCDirector sharedDirector] convertToGL: [tanıyıcı konumuInView: [CCDirector sharedDirector] .view]] ; 2. openGLView, Cocos2D 2.0'dan itibaren kullanımdan kaldırıldı, [CCDirector sharedDirector] .view' ile değiştirildi. – Eliot
Bu harika oldu! Teşekkürler ... –