swift - 停止正在运行的 SKAction - Sprite Kit

标签 swift sprite-kit skaction

以下代码将为旋转设置动画。

let something:SKSpriteNode = SKSpriteNode()

func start(){
  let rotateAction = SKAction.rotateToAngle(CGFloat(M_PI), duration: 10.0)
  something.runAction(SKAction.sequence([rotateAction]))
}

现在我想在动画持续时间内停止动画。有没有类似下面的?我想在用户触摸屏幕时停止动画。

func stop(){
  something.SKAction.stop()
}

最佳答案

您只需使用其中之一:

  1. something.paused = false//或 true 暂停节点上的操作
  2. something.removeAllActions() 明确删除与节点关联的操作
  3. 启动 something.runAction(action,withKey:"action1") 时命名您的操作,然后 something.removeActionForKey("action1") 删除给定操作

如果需要,您也可以更改速度。

关于swift - 停止正在运行的 SKAction - Sprite Kit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35502326/

相关文章:

ios - 使用 Swift 对日历进行 Google 身份验证

xcode - 类没有初始值设定项 (Xcode 6.3)

ios - xCode 9.4 和 iOS 11 每次调用 ViewDidLoad() 方法

ios - SKLabelNode 未显示在屏幕上

ios - ARKit/SpriteKit - 将 pixelBufferAttributes 设置为 SKVideoNode 或以另一种方式在视频中制作透明像素(色度键效果)

ios - Sprite Kit Swift 中的碰撞检测

ios - Swift:意外放大广告

swift - SpriteKit - 在 SKAction 期间正确定位 Sprite

ios - 在应用程序状态保存期间解决 SKAction 代码块编码限制的好方法是什么?

swift - SKSpriteNode - 中断 animateWithTextures 后纹理未恢复到原始大小