2016-01-17 68 views
0

有一種情景,玩家應該能夠依次發射一串子彈。我如何實現這一目標?我不想讓玩家受到他可以射擊的子彈數量的限制。也就是說,我不想用陣列來存儲子彈。請告知此場景的正確數據結構。在spritekit中發射一串子彈

+0

我建議你創建一個'SKNode',將節點添加到場景中,然後將這些項目符號添加到節點中。 – 0x141E

+0

我們需要更多關於你的意思的細節。爲什麼你需要存儲項目符號(如果你正在分類SKSpriteNode來實現它們,那麼他們的管理可以在那裏處理,所以不需要引用它們)?如果你確實需要存儲它們爲什麼數組不適合(Swift數組的上限不會是你的限制因素)? –

+0

0x141E - 您能否詳細闡述一下? –

回答

0

你可以爲我們一個數組或集合。一旦子彈離開屏幕邊界,您可以將其從場景中移除,重新定位並在需要下一個子彈時再次添加它:

例如:具有N個元素[A,B,C ...的數組]從左到右移動

start: A,B,C : X Position = 0; No sprite added to the scene 

Iteration 1: A. X Position 0; scene.addChild(A) 

Iteration 2: Move A: X Position 10; scene.addChild(B) 

Iteration 3: Move A: X Position 20; Move B: X Position 10; scene.addChild(C) 

... 

Iteration N-1: Move A: X Position 0; X Position 480; Move B: X Position 470; Move C: X Position 460; ... 

Iteration N: A.removeFromParent(), X Position 0; Move B: X Position 480; Move C: X Position 470; ... 

Iteration N+1: scene.addChild(A), X Position 0; B.removeFromParent(), X Position 0; Move C: X Position 480; ...