我如何获得真正的'自我',哪个节点运行SKaction序列

问题描述 投票:0回答:2

我尝试设置一个扩展名,例如SKAction.fireFromEnemy(),并附加到操作序列,然后添加reuse该序列。我的麻烦是我无法获得真实的Self,因此每次创建敌人时都必须设置顺序。

您知道SKAction.removeFromParent(),哪个func可以将节点作为操作目标。

ios swift sprite-kit self skaction
2个回答
0
投票

SKAction.customAction可能是您想要的。

https://developer.apple.com/documentation/spritekit/skaction/1417745-customaction

如果希望发生一次,则将持续时间设置为0。

SKAction.customAction(withDuration: 0) { node, time in node.fireFromEnemy() }


0
投票

Real self作为customAction的第一个参数处于关闭状态>

class TestClass {
    init() {
        let node = SKNode()
        node.run(.fireAction)
    }
}

extension SKAction {
    static let fireAction = SKAction.customAction(withDuration: 0.3) { node, elapsedTime in
        node.alpha = 0.5
        node.zRotation = .pi
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.