我有一个SKSpriteNode(monsterNode)的子类。它会使用矢量自动在屏幕上运行以跟随播放器。我目前正在使用以下操作来使其运行:
SKAction *actionMove = [SKAction moveTo:actualDistance duration:time];
[self runAction:actionMove completion:^ {
_currentState = SVGMonsterStateIdle;
}];
我想知道是否有可能使它成为如此怪物节点实际上STOPS运行动作如果它碰到iOS设备屏幕的边界。我目前在屏幕边缘有SKSpriteNode边界,与联系代表链接,以通知怪物和墙壁是否接触。但是,如果我无法阻止怪物的动作动作从完成开始,那就没有任何意义。怪物需要停在屏幕的边界。如果无法在执行中停止SKAction,是否有迂回的方法呢?
答案 0 :(得分:37)
查看SKNode.h
头文件 - 它列出了两个函数:
- (void)removeActionForKey:(NSString *)key;
- (void)removeAllActions;
后者将起作用:[monsterNode removeAllActions];