在"let runBlock = SCNAction.run {(节点) -> Void块(节点) }“行中得到”转义闭包捕获非转义参数‘块’错误“,这似乎是由旧语法引起的,不知道这里的正确用法是什么。
extension SCNAction {
class func waitForDurationThenRemoveFromParent(duration:TimeInterval) -> SCNAction {
let wait = SCNAction.wait(duration: duration)
let remove = SCNAction.removeFromParentNode()
return SCNAction.sequence([wait,remove])
}
class func waitForDurationThenRunBlock(duration:TimeInterval, block: ((SCNNode?) -> Void) ) -> SCNAction {
let wait = SCNAction.wait(duration: duration)
let runBlock = SCNAction.run { (node) -> Void in
block(node)
}
return SCNAction.sequence([wait,runBlock])
}
class func rotateByXForever(x:CGFloat, y:CGFloat, z:CGFloat, duration:TimeInterval) -> SCNAction {
let rotate = SCNAction.rotateBy(x: x, y: y, z: z, duration: duration)
return SCNAction.repeatForever(rotate)
}}
发布于 2022-08-24 17:06:43
让这个块逃跑
class func waitForDurationThenRunBlock(duration:TimeInterval, block: @escaping((SCNNode?) -> Void) ) -> SCNAction {
let wait = SCNAction.wait(duration: duration)
let runBlock = SCNAction.run { (node) -> Void in
block(node)
}
return SCNAction.sequence([wait,runBlock])
}https://stackoverflow.com/questions/73477028
复制相似问题