我希望有人能够帮助我解决这个问题。我似乎找不到为removeActionWithKey方法为Sprite Kit分配SKAction的方法。我还尝试将操作分配给字典中的键,但程序无法识别键分配,因此返回了零值。
这是我尝试做的事情:
var textureanimation = SKAction.repeatActionForever(SKAction.animateWithTextures(_walkingframes, timePerFrame: 0.1))
var dictionary = ["animation": textureanimation]
object.runAction(actionForKey("animation"))
var sequence = [SKAction.moveTo(tap_position, duration: time_duration),
SKAction.runBlock{
object.removeActionForKey("animation")}
答案 0 :(得分:14)
您可以在runAction方法
中执行此操作sprite.runAction(myCoolAction, withKey: "Cool Action")
这将允许您按名称删除操作
sprite.removeActionForKey("Cool Action")
根据经验,我建议在变量中放置动作字符串名称。它将减少非常错误拼写错误的动作名称中的奇怪错误。
因此,改进版本是类var
let coolActionName = "Cool Action"
// Your other code
// Run the action
sprite.runAction(myCoolAction, withKey: coolActionName)
// Time to remove the action
sprite.removeActionForKey(coolActionName)