有沒有這個命令的複數版本,所以我可以輸入一個要添加的孩子列表?SpriteKit addChild(node:SKNode)plural?
有點像:
addChildren(myNodeABC, myNodeXYZ, myNode123)
有沒有這個命令的複數版本,所以我可以輸入一個要添加的孩子列表?SpriteKit addChild(node:SKNode)plural?
有點像:
addChildren(myNodeABC, myNodeXYZ, myNode123)
編寫擴展做到這一點:(我寫它的斯威夫特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非常酷。就像即時陣列一樣,無需創建一個。 – Confused
是的,從C開始就已經存在,因爲命令行應用程序需要一種方法來接受可變數量的參數 – Knight0fDragon
您是傳奇!在你最好的時候,你是最棒的! – Confused
沒有,你將不得不作出自己的 – Knight0fDragon
哎呀,太好了, @ Knight0fDragon。我會嘗試使用我所收集的擴展名,然後在這裏發佈,以供您在做完之後輕聲笑起...... – Confused
但是不要屏住呼吸,我還有其他一些事情要做,可能會有幾天,或者在我接近它之前的幾個星期。這只是編碼時間;) – Confused