2014-02-21 51 views
0

我有一個SKSpriteNode用於我的_player,並且有兩個孩子來到構成我角色的_player節點。Sprite Kit翻轉球員XScale

利用該配置精靈有字符向右。

當我需要角色面向左我試着使用xScale = -1.0,但是當我這樣做時,它並沒有出現,因爲我的CGRectIntersectsRect行爲就像角色仍然面對原始的方向。

if(sprite.xScale == -1.0){ 
    sprite.zRotation = atan2f(direction.y, direction.x); 
    } else { 
     sprite.zRotation = atan2f(-direction.y, -direction.x); 
    } 

請告訴我正確的方式翻轉球員:

除的CGRect問題,所以我最終不得不做這樣的事情,我對旋轉物體的性質。如果我使用xScale,看起來數學會對我的碰撞檢測產生不必要的複雜。我需要兩個面向每個方向的玩家嗎?我需要兩組精靈嗎?

+0

你有沒有解決這個問題?我想知道如何處理一個可以向左或向右「看」的精靈,並且需要在這個方向上有一個視野...... –

回答

0

這是一個可以解決您的問題的教程。 http://www.raywenderlich.com/45152/sprite-kit-tutorial-animations-and-texture-atlases 我發現它非常有幫助。項目中的熊將根據您觸摸的屏幕的哪一側翻轉。 6號是我相信你的答案是...

+0

感謝您的回覆。他們使用xScale的方式與我上面的方式相同,但對於他們來說並不複雜,因爲他們的角色沒有任何子節點。他們的性格也是相同的形狀向前和向後,所以他們不會有同樣的問題檢測我碰到的碰撞。 – Early73