我正在尝试使用按钮制作菜单,我想同时处理所有触摸事件。
问题在于,如果我按下按钮,则touchBegan
中不会调用CCScene
事件。我已经启用了场景中的触摸管理功能,但它看起来像按钮阻止了事件。
[self setUserInteractionEnabled:YES];
CCButton *pButton = [CCButton buttonWithTitle:@"btn"];
[self addChild:pButton];
我想用它来创建一个菜单,其中的按钮列表大于屏幕,让用户在列表上滚动,但按钮会阻止触摸回调,我无法管理滚动效果。< / p>
有人知道如何设置按钮让CCScene
在这种情况下管理触摸事件吗?
答案 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);