2016-03-30 4 views

答えて

3

ただ、スプライトを使用すると、1つを起動するたびに保存

addChild(enemy) 
lastSprite = enemy 

あなたがする必要がある場合があります1つのaddChildだけでなく、2つの命令でブロックを実行するようにSKActionを修正してください。また、enumerateChildNodesWithNameを調べて、追加された最後のSpriteが常に最後または最初のSpriteであるかどうかを調べることもできます。

0

また、最後の項目は、(子供の)配列に追加取得するself.children.lastを使用してSKSpriteNodeとして、それを唱えられる

+0

私はSKNodeの子どもたちのためにドキュメントをチェックし、私はそれだけだと思う​​:

// Declare your integer when you initialise var lastNode = NSInteger() // You'd add your spritenode somewhere later in your code lastSprite = SKSpriteNode(imageNamed: "something") lastNode += 1 lastSprite.name = "myName \(lastNode)" self.addChild(lastSprite) 

を次にあなたが最後のスプライトにアクセスしたいときはいつでも、あなたはこれを使用したいですノードの子の配列.lastが最後に追加されたノードであることが保証されていますか? –

+0

ええ 'last'は最後の要素を配列に追加します。 [Apple Documentation](https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKNode_Ref/index.html#//apple_ref/occ/instm/SKNode/addChild :)によると、 'addChild':受信者の子ノードリストの末尾**にノードを追加します。それが役に立てば幸い。 –

0
私はスティーブ・アイヴスの答えを使用しますが、スプライトの名前があることを行っていない場合

あなたのゲームでは、新しいSKSpriteNodeではなく、宣言された整数変数を使用して、多くのメモリを使用しません。あなたはこのようなものを使用することができます

grabMeSprite = self.childNodeWithName("myName \(lastNode)") as! SKSpriteNode 
+0

私はlastSprite = enemyがSpriteオブジェクトのコピーを作成しないので、既存のSpriteオブジェクトへの新しいポインタだけをメモリが消費するとは思わない。 –

関連する問題

 関連する問題