Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocos2d iphone 使CCNode的任何给定实例对触摸产生反应_Cocos2d Iphone_Cocosbuilder - Fatal编程技术网

Cocos2d iphone 使CCNode的任何给定实例对触摸产生反应

Cocos2d iphone 使CCNode的任何给定实例对触摸产生反应,cocos2d-iphone,cocosbuilder,Cocos2d Iphone,Cocosbuilder,因此,在我的项目中,我将Cocos2D与CocosBuilder一起使用。我已经将我的一些角色指定为带有子ccsprite的CCNode的子类,等等 我希望这些CCNode对触摸做出反应——例如,如果我触摸其中任何一个,它们都会播放上下文相关的动画。我只想知道如何使节点对触摸产生反应(或者,让层对触摸产生反应,检测您是否触摸了精灵),动画部分就可以了 有什么想法吗?那太好了 山姆发现这相当容易。在类的头文件中,必须将类定义为实现协议,如下所示: @interface Foo : CCNode &

因此,在我的项目中,我将Cocos2D与CocosBuilder一起使用。我已经将我的一些角色指定为带有子ccsprite的CCNode的子类,等等

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

有什么想法吗?那太好了


山姆发现这相当容易。在类的头文件中,必须将类定义为实现协议,如下所示:

@interface Foo : CCNode <CCTouchOneByOneDelegate>
{

}

而且您必须实现CCTouchStart(如果您使用的是OneByOneDispatcher)

太棒了。从来没有听说过CCTouchOneByOneDelegate协议,它非常棒。它现在被称为CCTargetedTouchDelegate。不过,这仍然是这份工作的正确选择!人力资源管理?他们从CCTargetedTouchDelegate更改为CCTouchOneByOneDelegate。如果你从Cocos2D 2.1之前的版本改为任何一篇文章,你会注意到CCTargetedTouchDelegate不起作用。哦,我以为我有最新的Cocos2D,因为我几周前下载了最新的稳定版本。谢谢你提供的信息。:)
- (void)onEnter
{
    [[[CCDirector sharedDirector] touchDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];
    [super onEnter];
}
- (void)onExit
{
    [[[CCDirector sharedDirector] touchDispatcher] removeDelegate:self];
[super onExit];
}