所以在我的项目中我使用Cocos2D和CocosBuilder。我已经将一些我的角色分配给具有子CCSprites等的CCNode的子类。
我希望这些CCNode能够被触摸 - 例如,如果我触摸它们中的任何一个,它们就会播放一个上下文敏感的动画。我只想知道如何让节点对触摸产生反应(或者可能是让触摸层反应无法检测你是否触摸过精灵),动画部分就可以了。
有什么想法吗?那会很可爱。
萨姆
答案 0 :(得分:1)
事实证明这很容易。在类的头文件中,必须将类定义为实现协议,如下所示:
@interface Foo : CCNode <CCTouchOneByOneDelegate>
{
}
你必须像这样实现onEnter和onExit:
- (void)onEnter
{
[[[CCDirector sharedDirector] touchDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
[super onEnter];
}
- (void)onExit
{
[[[CCDirector sharedDirector] touchDispatcher] removeDelegate:self];
[super onExit];
}
并且您必须实施ccTouchBegan(如果您使用的是OneByOneDispatcher)