我有一个 SKSpriteNode (monsterNode) 的子类。它使用矢量自动在屏幕上运行以跟随玩家。我目前正在使用以下操作使其运行:
SKAction *actionMove = [SKAction moveTo:actualDistance duration:time];
[self runAction:actionMove completion:^ {
_currentState = SVGMonsterStateIdle;
}];
我想知道是否有可能做到这一点,因此如果 monsterNode 到达 iOS 设备屏幕的边界,它实际上会停止运行该操作。我目前在屏幕边缘有 SKSpriteNode 边界,与联系代表链接以通知怪物和墙壁是否接触。但是,如果我不能真正阻止怪物的 actionMove 动作完成,那将毫无意义。怪物需要停在屏幕的边界。如果无法在 SKAction 中途停止执行,是否有迂回的方法可以这样做?