控制CCScrollLayer中的触摸(cocos2d iOS)

时间:2012-06-25 21:07:16

标签: ios cocos2d-iphone scroll ccscrolllayer

我的应用程序中有一个CCScrollLayer,其中包含可移动的精灵(可以拖放它们)。问题是当将精灵拖得太远时,CCScrollLayer开始滚动。我试图禁用CCScrollLayer滚动,只要我拖动这些精灵。禁用通过使用

工作
[[CCTouchDispatcher sharedDispatcher] removeDelegate:sender];

我从方法

获得发件人
- (void)scrollLayerScrollingStarted:(CCScrollLayer *)sender {
    //...
}

我无法再次启用CSScrollLayer,尝试使用此但没有结果:

[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:scrollLayer priority:0 swallowsTouches:NO];

我使用的是v1.0.1(稳定版)

1 个答案:

答案 0 :(得分:1)

您可以继承CCScrollLayer并添加一个启用的属性boolean。只需覆盖CCScrollLayer用于开始滑动的触摸方法。例如

-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
     if(self.enabled)
           return [super ccTouchBegan:touch withEvent:event];
     else
           return NO;
}