2016-05-23 36 views
1

所以這是一個非常簡單的問題:我有一個SKSpriteNodefullPiece,當它碰到一個點時,我想複製它並將副本轉移到另一個父級。所以,我在做什麼是這個如何複製SkspriteNode但將它們分開

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

林複製的對象,然後刪除舊的,然後加入副本。 但是,後來我再次刪除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's有一個錯誤。 'physicsBody?'屬性似乎沒有被複制。 – mogelbuster

回答

0

這可能是不夠的:

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

謝謝生病檢查它是否有效 –

+0

不行不行 –

+0

你可以發佈你的代碼嗎?我的意思是更多的代碼.. –

相關問題