我如何处理他内部的CCScene和CCButton

时间:2014-10-01 17:20:52

标签: ios objective-c cocos2d-iphone touch

我正在尝试使用按钮制作菜单,我想同时处理所有触摸事件。

问题在于,如果我按下按钮,则touchBegan中不会调用CCScene事件。我已经启用了场景中的触摸管理功能,但它看起来像按钮阻止了事件。

[self setUserInteractionEnabled:YES];
CCButton *pButton = [CCButton buttonWithTitle:@"btn"];
[self addChild:pButton];

我想用它来创建一个菜单,其中的按钮列表大于屏幕,让用户在列表上滚动,但按钮会阻止触摸回调,我无法管理滚动效果。< / p>

有人知道如何设置按钮让CCScene在这种情况下管理触摸事件吗?

1 个答案:

答案 0 :(得分:1)

解决方案1: 为所有按钮设置相同的选择器,并用标签区分它们;

CCButton *pButton = [CCButton buttonWithTitle:@"btn"];
pButton.tag = 1;
[pButton setTarget:self selector:@selector(buttonHandler:)];
[self addChild: pButton];

解决方案2: 不要使用按钮。使用CCSprite并在touchBegin中检查相交;

CGRectContainsPoint(spriteRect, touchPoint);