cocos2d-iphone-extensions
cocos2d-iphone-extensions copied to clipboard
CCLayerPanZoom: Enable and disabling touches
There are no methods to enable and disable touches.
I have used the following solution which works fine...
-(void)enableTouch:(BOOL)enable { if(enable) { [[CCTouchDispatcher sharedDispatcher] addStandardDelegate:self priority:0]; } else { [[CCTouchDispatcher sharedDispatcher] removeDelegate:self]; } }
When implementing what praveencastelino suggested, I had to in addition remove all objects from the touches array of the PanZoomLayer:
-(void)enableTouches:(BOOL)enable
{
[[self touches] removeAllObjects];
if(enable)
{
[[CCTouchDispatcher sharedDispatcher] addStandardDelegate:self priority:0];
CCLOG(@"LayerPanZoom enabled.");
}
else
{
[[CCTouchDispatcher sharedDispatcher] removeDelegate:self];
CCLOG(@"LayerPanZoom disabled.");
}
}
If I didn't it had lot's of problems when resuming touch handling.