2014-02-21 3 views
0

내 _player에 대한 SKSpriteNode가 있고 _player 노드에 두 개의 자식이있어서 내 캐릭터를 구성합니다.스프라이트 키트 플립 플레이어 XScale

이 구성의 스프라이트는 문자가 오른쪽을 향하게합니다.

왼쪽 얼굴에 문자가 필요한 경우 xScale = -1.0을 사용해 보았습니다.하지만 CGRectIntersectsRect는 문자가 여전히 마주 보듯이 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