0

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

[[CCTouchDispatcher sharedDispatcher] removeDelegate:sender];

我从方法中获取发件人

- (void)scrollLayerScrollingStarted:(CCScrollLayer *)sender {
    //...
}

我无法再次启用 CSScrollLayer,尝试了这个但没有结果:

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

我正在使用 v1.0.1(稳定版)

4

1 回答 1

1

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

-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
     if(self.enabled)
           return [super ccTouchBegan:touch withEvent:event];
     else
           return NO;
}
于 2012-06-25T22:02:03.690 回答