Cocos2d v3 - 在不添加新节点的情况下检测触摸

时间:2014-06-22 11:10:54

标签: ios cocos2d-iphone

我试图将我的游戏从cocos2d v2.x转换为v3,并且我很难弄清楚新触控机制的工作原理。

在我的项目中,我有一个NSObject(一个非cocos2d对象)。以前,当我希望此对象使用cocos2d触摸机制响应触摸事件时,我将其标记为CCTargetedTouchDelegate:

@interface ControlCenter : NSObject <CCTargetedTouchDelegate>

然后我将对象添加到触摸调度程序:

[[[CCDirector sharedDirector] touchDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:NO];

最后使用ccTouch方法来处理触摸
现在,我明白在Cocos2d v3中触控处理是不同的。所以,让我说我有我当前的场景(使用CCNode),并在添加

之后
    self.userInteractionEnabled = true;
    winSize = [[CCDirector sharedDirector] viewSize];
    self.contentSize = winSize;

并覆盖触摸方法,我能够处理来自此场景的触摸。我无法让我的ControlCenter对象响应触摸。我将其更改为CCNode,启用了用户交互标记并设置了内容大小,但没有将对象实际添加为当前场景的子项,它不会响应触摸。

所以,我的问题是:有没有办法让CCNode响应触摸事件而不实际添加它作为当前场景的孩子?有没有办法直接将其添加为响应者,如cocos2d v2?

0 个答案:

没有答案