2016-11-21 18 views
2

このコマンドには複数のバージョンがあるので、追加する子のリストを入力できますか?SpriteKit addChild(ノード:SKNode)複数ですか?

の種類など:

addChildren(myNodeABC, myNodeXYZ, myNode123) 
+0

いいえ、あなたは素晴らしいあなた自身 – Knight0fDragon

+0

カワイイを加える必要があります、 @ Knight0fDragon。私は、私がエクステンションを集めたものを使用しようとし、完了するとあなたに笑うためにここに投稿します... – Confused

+0

しかし、あなたの息を止めてはいけません。私はいくつかのことをする必要があります。私がそれに慣れるまで数週間かかりました。そして、それはちょうどコーディング時間です;) – Confused

答えて

5

はそれを行うための拡張機能を書く:(私はスウィフト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)}); 
    } 
} 
+1

うわー。 variadicは非常にクールです。インスタントアレイのように、作成する必要はありません。 – Confused

+2

はい、それはコマンドラインアプリがパラメータの可変量を受け入れる方法を必要としたので、C時代から存在していました – Knight0fDragon

+1

あなたは伝説です!あなたのベストで、あなたは最高の一人です! – Confused

関連する問題