2016-05-23 10 views
1

これは非常に簡単な質問です。SKSpriteNodefullPieceがあり、ポイントに当たったらコピーして別の親にコピーしたいと思っています。それでは、私がやっていることは、このSkspriteNodeをコピーして別々に保管する方法

var tempPiece = fullPiece 
fullPiece.removeFromParent() 
collectionOfParts.addChild(tempPiece) 

Imはコピーを追加し、その後、古いものを削除し、その後、オブジェクトのコピーです。 しかし、後でもう一度fullPieceを削除してコピーを消してください。この作業を適切に行うにはどうすればよいですか?

+0

私は、これは一年後ですけど、私はライン 'VAR tempPiece = fullPiece'は' fullPiece'(クラスは参照型であるとして)コピーされませんと思います。代わりに 'fullPiece'に' tempPiece'によって呼び出される別の名前を与えるだけです。 'SKSpriteNode'をコピーするには' copy() 'メソッドを使わなければなりません。 [ここに例があります](http://stackoverflow.com/questions/38928009/in-swift-is-it-possible-to-create-an-skspritenode-by-directly-copying-it-from-a )。あなたは 'SKSpriteNode'をコピーするバグがあるので、注意する必要があります。 'physicsBody? 'プロパティはコピーされていないようです。 – mogelbuster

答えて

0

これは十分に考えられます。

var tempPiece: SKSpriteNode! = SKSpriteNode() 
tempPiece = fullPiece 
tempPiece.name = "tempPiece" 
collectionOfParts.addChild(tempPiece) 
fullPiece.removeFromParent() 
... 
+0

ありがとうございました。もしうまくいかない場合には、 –

+0

はうまくいきませんでした。 –

+0

あなたのコードを投稿できますか?私が意味するより多くのコード.. –

関連する問題