2010-06-30 6 views
1

Existe-t-il un moyen de détecter les événements tactiles d'une autre classe que le calque lui-même. J'essaye d'avoir un état contrôlant l'interaction, ajoutant l'écouteur à la couche elle-même si nécessaire au lieu de faire appel à la couche une fonction sur l'état actuel, qui pourrait être un noop. Est-ce une façon d'utiliser une telle chose?Événement iphone touch Cocos2d

Répondre

2

Voir la classe CCTouchDispatcher (http://www.cocos2d-iphone.org/api-ref/latest-stable/interface_c_c_touch_dispatcher.html)

Vous pouvez souscrire une classe qui implémente CCStandardTouchDelegate ou CCTargetedTouchDelegate pour recevoir des événements tactiles, en appelant:

[[CCTouchDispatcher sharedDispatcher] addStandardDelegate:self priority:1]; 

sur votre méthode onEnter (en supposant que votre classe est un CCNode), puis le retirer du répartiteur via:

[[CCTouchDispatcher sharedDispatcher] removeDelegate:self]; 

à votre méthode onExit.

+0

La sous-classe CCNode est-elle nécessaire pour que cela fonctionne? – sharvey