SpriteKit addChild(node: SKNode) 复数?
Posted
技术标签:
【中文标题】SpriteKit addChild(node: SKNode) 复数?【英文标题】:SpriteKit addChild(node: SKNode) plural? 【发布时间】:2016-11-21 17:07:14 【问题描述】:这个命令有复数形式,所以我可以输入要添加的子列表吗?
有点像:
addChildren(myNodeABC, myNodeXYZ, myNode123)
【问题讨论】:
不,你必须自己制作 啊,太棒了,@Knight0fDragon。我将尝试使用我收集的扩展程序并在此处发布,让您在完成后轻笑...... 但是不要屏住呼吸,我还有其他事情要做,可能需要几天或几周才能完成。这只是编码时间;) 【参考方案1】:写一个扩展来做这件事:(我用 Swift 3 风格写的,我现在没有可用的 XCode 来验证它的工作原理)
extension SKNode
func add(children: SKNode...)
for child in children
addChild(child)
用法:
node.add(children:node1,node2,node3)
注意:
...
被称为可变参数,如果您想了解更多信息:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html
如果您想使用更少的行,请执行以下操作:
extension SKNode
func add(children: SKNode...)
children.forEach(addChild($0));
【讨论】:
哇。 variadic 非常酷。就像一个即时数组,无需创建一个。 是的,自 C 时代以来就存在,因为命令行应用程序需要一种方法来接受可变数量的参数 你是个传奇!在你最好的时候,你是最好的之一! 这是一个厚颜无耻的提醒,你有时会在 SO 的规则内做出 cmet 并做出不必要的攻击性反应,但不一定在考虑、关怀、同情和爱的“规则”内。但我承认 SO 规则没有考虑到这些深奥的心灵价值。以上是关于SpriteKit addChild(node: SKNode) 复数?的主要内容,如果未能解决你的问题,请参考以下文章
SpriteKit - SKCameraNode 视差效果?