Problème avec cocos2D pour iPhone et détection tactile
Je n'ai tout simplement pas l'obtenir.
J'utilise cocos2d pour le développement d'un petit jeu sur l'iPhone/Ipod. Le cadre est tout simplement génial, mais je n'arrive pas à toucher. J'ai lu que vous avez juste besoin de remplacer les fonctions qui lui sont propres (par exemple, "touchesBegan" ) dans la mise en œuvre d'une classe qui sous-classes CocosNode. Mais ça ne fonctionne pas. Que pouvais-je faire de mal?
la fonction:
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{NSLog(@"tickle, hihi!");}
ai-je l'obtenir tout à fait tort?
Merci!
OriginalL'auteur | 2008-12-18
Vous devez vous connecter pour publier un commentaire.
De couche est le seul cocos2d classe qui obtient la touche.
Le truc, c'est que TOUTES les instances de la Couche de passer à travers les événements tactiles, l'un après l'autre, de sorte que votre code doit gérer cela.
J'ai fait comme ceci:
}
Noter que le cocos2d la bibliothèque dispose d'un "ccTouchesEnded" la mise en œuvre, plutôt que sur l'Apple standard. Il vous permet de retourner un BOOLÉEN indiquant si oui ou non vous avez géré l'événement.
Bonne chance!
la classe doit implémenter l'un des deux protocoles TouchDelegate
Ce code a l'air vraiment vieux et mauvais. -1
OriginalL'auteur Genericrich
Avez-vous ajouté à votre couches méthode init?
OriginalL'auteur jjxtra
Afin de détecter les touches, vous avez besoin de sous-classe de UIResponder (qui UIView fait aussi bien) . Je ne suis pas familier avec cocos2D, mais un rapide coup d'oeil à la documentation révèle que CocosNode ne provient pas de l'UIResponder.
Après enquête, il ressemble Cocos gens créé une Couche de la classe qui dérive de CocosNode. Et que la classe implémente le toucher des gestionnaires d'événements. Mais ceux qui sont préfixés par le cc.
Voir http://code.google.com/p/cocos2d-iphone/source/browse/trunk/cocos2d/Layer.h
Également voir le menu.m code et le dessous de blog article pour plus d'infos sur ce:
http://blog.sapusmedia.com/2008/12/cocos2d-propagating-touch-events.html
OriginalL'auteur keremk
de la gueule, le CGPoint les membres de la structure x,y sont des flotteurs. utilisez " @"%f" format de la flotte de printf/NSLog.
OriginalL'auteur
Si vous utilisez le 0.9 beta de cocos2D il a vraiment une simple détection tactile pour CocosNodes. La vraie beauté de cette nouvelle détection est qu'il ne gère plusieurs touch suivi vraiment bien.
Un exemple de ceci peut être trouvé ici
http://code.google.com/p/cocos2d-iphone/source/browse/#svn/trunk/tests/TouchesTest
OriginalL'auteur Damo
pense que cela peut vous aider....
OriginalL'auteur Rony
-Faire à votre scène est conforme au protocole
CCTargetedTouchDelegate
-Ajoutez Cette ligne à
init
de votre scène:-Mise en œuvre de ces fonctions:
OriginalL'auteur Hossam Ghareeb