2014-06-17 42 views
-1

有沒有辦法讓skspritenode在某個方向上移動?如度。 EG:面朝70˚然後朝那個方向移動。我試圖讓它可以從我的播放器節點上射出一顆子彈,但我無法弄清楚如何讓子彈穿過我的鼠標。如何將SKSpriteNode移動到某個方向?

回答

1

如果你使用物理,那麼你可以使用CGVector應用脈衝。如果你不使用物理,那麼你會使用SKAction,但它不能解決你的具體使用。如果您想先旋轉對象,那麼您將更改其zRotation。顯然你必須設置精靈和physicsBody,但我已經將這些步驟退出了。

SKSpriteNode *mySpriteToMove = [SKSpriteNode node]; 

[mySpriteToMove.physicsBody applyImpulse:CGVectorMake(floatDX, floatDY)]; 

[mySpriteToMove runAction:[SKAction moveBy:CGVectorMake(floatDX, floatDY) duration:amountOfTime]]; 

mySpriteToMove.zRotation = someValueInRadians; 

CODE發表評論迴應:

[mySpriteToMove runAction:[SKAction moveTo:CGPointMake(floatX, floatY) duration:amountOfTime]]; 
+0

如果你不知道具體座標,是他們的一種方式來計算它的路徑? –

+0

我已經添加了代碼。開發人員文檔蘋果提供的SKSprite和SKAction是值得一讀的優秀資源。跳入精靈套件頁面是一個開始的好地方:https://developer.apple.com/library/ios/documentation/GraphicsAnimation/Conceptual/SpriteKit_PG/GettingStarted/GettingStarted.html#//apple_ref/doc/uid/TP40013043 -CH2-SW1 –

+0

您先生,是天才謝謝謝謝謝謝謝謝我無法向您充分表達我的謝意。 –