2015-04-19 76 views
0

如果有人知道如何做到這一點,我有一個精靈節點,我想要在屏幕上定位「像星星」,我想創建一個字段節點,將「星星」屏幕的中心隨着更多的星星產生,基本上形成了一個像動作一樣的旋渦。創建無限的雪碧節點雪碧套件

這就是我在這個「addObjects」函數中創建節點的方式,它是如何產生這種「星星」效果的?並讓他們無限制地走向屏幕的中心?謝謝一堆

func addObjects() { 
    for (var i=0 ; i<5 ; i++) { 
     let PositiveNode = SKSpriteNode(imageNamed: "Enemy1") 
     PositiveNode.physicsBody = SKPhysicsBody(circleOfRadius: PositiveNode.frame.size.width/2) 
     PositiveNode.physicsBody?.dynamic = true 
     self.addChild(PositiveNode) 
     } 

我有一個想法,也許做一個for循環可以幫助我實現我的目標,但我可能是錯的。

回答

0

要模擬黑洞效應,您可以使用radialGravityField SKFieldNode。至於無限數量的星星,您可以創建SKSpriteNodes,並在它們到達預定義位置時將其從場景中移除。這是徑向重力場的中心。

這裏重要的是removeFromParent,以避免由於不斷創建新節點而不刪除中心內的節點而導致的內存泄漏。

+0

但是,如果你沒有得到outOfMemoryException,你會怎麼知道黑洞已滿?我建議使用一種邊界框,但它們被刪除,而不僅僅是一個單一的點。 – Tschallacka

+0

我明白我應該創建一個SKFieldNode以獲得我想要的結果。然而,我遇到麻煩的是場節點影響星星。更確切地說,我在設置fieldbitmasks時遇到了麻煩,這就是我認爲我缺乏的,使這種效果發揮作用 –