我以这种方式创建了我的 SKAction
:
unicornAction = [SKAction followPath:mypath asOffset:NO orientToPath:YES duration:0.1];
并将它添加到我的SKSprite
:
[sprite runAction:[SKAction repeatActionForever:unicornAction] withKey:@"move"];
我这样做是为了随时调整 Sprite 在路径上的运动速度。
当我的 sprite 到达路径的末端时,我需要一个回调以便我可以删除 sprite。我怎样才能得到这样的回调?
另外,有没有更好的方法来使用 SKAction
来做我想做的事情,同时允许我在 Action 运行期间的任何地方改变速度?
最佳答案
您可以在末尾使用带有 runBlock 或 performSelector 的序列:
SKAction* sequence = [SKAction sequence:@[unicornAction, [SKAction runBlock:^{
// code at end of path goes here...
}]];
你也可以使用
[sprite runAction:sequence withKey:@"follow path"];
然后通过按键获取操作:
SKAction* sequence = [sprite actionForKey:@"follow path"];
关于ios - 当 Sprite 到达路径末端时,如何从 SpriteKit 重复 Action 中获得回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19670590/