是否有可能结束SKAction中期行动?

时间:2013-09-27 02:08:01

标签: ios objective-c sprite-kit skaction

我有一个SKSpriteNode(monsterNode)的子类。它会使用矢量自动在屏幕上运行以跟随播放器。我目前正在使用以下操作来使其运行:

SKAction *actionMove = [SKAction moveTo:actualDistance duration:time];
        [self runAction:actionMove completion:^ {
            _currentState = SVGMonsterStateIdle;
        }];

我想知道是否有可能使它成为如此怪物节点实际上STOPS运行动作如果它碰到iOS设备屏幕的边界。我目前在屏幕边缘有SKSpriteNode边界,与联系代表链接,以通知怪物和墙壁是否接触。但是,如果我无法阻止怪物的动作动作从完成开始,那就没有任何意义。怪物需要停在屏幕的边界。如果无法在执行中停止SKAction,是否有迂回的方法呢?

1 个答案:

答案 0 :(得分:37)

查看SKNode.h头文件 - 它列出了两个函数:

- (void)removeActionForKey:(NSString *)key;
- (void)removeAllActions;

后者将起作用:[monsterNode removeAllActions];