2

所以在我的项目中,我使用 Cocos2D 和 CocosBuilder。我已经将我的一些角色指定为带有子 CCSprite 等的 CCNode 的子类。

我希望这些 CCNode 能够对触摸做出反应——例如,如果我触摸其中任何一个,它们就会播放上下文相关的动画。我只想知道如何使节点对触摸产生反应(或者,让层对触摸产生反应,以检测您是否触摸了精灵),动画部分很好。

有任何想法吗?那将是可爱的。

山姆

4

1 回答 1

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)

于 2013-05-22T09:18:18.817 回答