我尝试设置一个扩展名,例如SKAction.fireFromEnemy()
,并附加到操作序列,然后添加reuse
该序列。我的麻烦是我无法获得真实的Self
,因此每次创建敌人时都必须设置顺序。
您知道SKAction.removeFromParent()
,哪个func可以将节点作为操作目标。
SKAction.customAction
可能是您想要的。
https://developer.apple.com/documentation/spritekit/skaction/1417745-customaction
如果希望发生一次,则将持续时间设置为0。
SKAction.customAction(withDuration: 0) { node, time in node.fireFromEnemy() }
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
}
}