这是问题所在:我正在使用 cocos2D 和 CCLayers,并且我使用 UIView 来捕捉 UIScrollMenu 的手势识别器的动作。在我的图层上,有动画精灵可以永远运行动画;当我用手指拖动 scrollMenu 并停止按住手指时,背景中的 CCLayer 不再更新,精灵也不会移动。一旦我再次移动手指,精灵就会更新。问题不应该来自精灵,因为当我停止并再次移动时,精灵不会播放下一帧,而是继续正常移动时应该显示的帧。我认为仍然计算帧,但图层不再更新其视图。
有人会想办法避免这种情况吗?
我没有做任何事情来更新 CCSprites,我只是在它们上启动一个 CCRepeatForever 动作,然后让它们的父 CCLayer 关心它们。我试图安排这个 CCLayer,但是当我用手指拖动一个项目时,不再调用更新函数......
`CCAction *hitAction = [CCRepeatForever actionWithAction:[CCAnimate actionWithAnimation:hitAnim restoreOriginalFrame:NO]];
[精灵 runAction:hitAction];`
当我再次移动手指时调用的函数(显然允许 CCLayer 更新)是- (void)scrollViewDidScroll:(UIScrollView *)scrollView