在cocos2d中移动精灵时,防止UIPanGestureRecognizer触发的最佳方法

我使用UIPanGestureRecognizer在我的cocos2d游戏中做拖放的精灵。 我有一排精灵,当我将一个精灵拖到另一个精灵的顶部时,它下面的精灵和其他精灵之间应该向左或向右移动,以允许空间放下当前选中的精灵。

这个工作正常,但是,如果我在屏幕上拖动精灵的速度过快,这会触发UIPanGestureRecognizer的callback方法的另一轮,并且随着精灵之间的移动而locking逻辑。

我需要一种方法来冻结射击callback,而其他精灵正在移动,然后一旦他们完成移动,重新启用callback触发。

最好的办法是做到这一点?

您可以将启用的属性设置为NO,这将禁用该手势识别器,直到您重新启用它。 如果由于某种原因识别器在发射过程中被禁用,在被禁用之前它将转换到取消状态。