cocos2d-iOS - Geste recognisers
Quelqu'un a réussi à obtenir la reconnaissance des gestes de travail dans cocos-2d?
J'ai lu un post ici qui prétendent l'avoir atteint, ici: http://www.cocos2d-iphone.org/forum/topic/8929
J'ai patché depuis le git hub ici: https://github.com/xemus/cocos2d-GestureRecognizers/blob/master/README
J'ai fait une sous-classe de CCSprite
(qui est une sous-classe de 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;
}
Délégué méthode:
- (void) swipe:(UIGestureRecognizer*)recognizer node:(CCNode*)node
{
NSLog(@" I never get called :( ");
}
Mes appuyez sur un événement n'est jamais appelé.
Quelqu'un a eu ce travail? Comment est-il difficile de faire un geste de reconnaissance manuellement pour balayez vers la détection?
OriginalL'auteur Robert | 2011-02-13
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de joindre le geste de reconnaissance à quelque chose de "de la chaîne". Ne pas attacher les nœuds individuels; les attacher à la UIView (c'est à dire, [[CCDirector sharedDirector] openGLView]).
Voici ce que j'ai fait:
Ce code est utilisé dans une super-classe pour la scène de contrôleurs, de sorte que la cible pour le sélecteur est codé en dur pour le "soi", mais vous pouvez facilement abstrait que dans le passé-dans l'objet. Aussi, vous pouvez extrapoler les ci-dessus pour créer facilement des modules de reconnaissance de geste pour les robinets, pince, etc.
Dans la sous-classe pour le contrôleur, alors, je viens de le faire:
Agréable et propre, belle. Deux petites questions: 1. locationInView renvoie les coordonnées dans le UIKit système de coordonnées, celles-ci devraient être converti GL coordonnées avant de l'utiliser, ex:
p = [[CCDirector sharedDirector] convertToGL: [recognizer locationInView:[CCDirector sharedDirector].view]];
2. openGLView est déprécié que de Cocos2D 2.0, il a été remplacé par[CCDirector sharedDirector].view
.C'était brillant!!! Merci...
Merci beaucoup pour ce détachement 🙂
OriginalL'auteur cc.
Si vous ne voulez pas tout gérer manuellement, j'ai créé une catégorie qui va ajouter de la geste des modules de reconnaissance pour tout cocos2d version
lire la suite sur:
http://www.merowing.info/2012/03/using-gesturerecognizers-in-cocos2d/
ou de le saisir à partir de github
https://github.com/krzysztofzablocki/CCNode-SFGestureRecognizers
dans Cocos2d 3.0 il n'est pas visible de l'interface [YourCCSprite addGestureRecognizer:YourGestureRecognizer]; de Sorte que toute solution pour cela?
Oui, il n'y aura aucune mise à jour sur le gestureRecognizer classe pour Cocos2d 3.0??? Qui est vraiment essentiel et une partie manquante.
OriginalL'auteur Krzysztof Zabłocki