2014-04-16 6 views
1
self.player.xScale = fabs(self.player.xScale)*multiplierForDirection2; 

플레이어를 왼쪽으로 돌리면 enemy2의 충돌을 감지 할 수 없지만 BitMasks가 둘 다 동일 함에도 불구하고 enemy2에서 충돌을 감지 할 수 있습니다. 비슷한 문제가 발생하여 왼쪽으로 이동하는 적과 오른쪽으로 이동하는 적의 두 가지 기능을 만들어야했습니다.
충돌을 방지하는 xScale은 정확히 무엇을 수행합니까?xscale을 변경하면 충돌 감지에 영향을 미침

답변

0

나는 이것이 spriteKit이라고 가정합니다. self.player의 부모 개체 역할을하는 SKNode를 만드는 경우 플레이어에서 SKNode에 collider를 연결하고 xScale = -1을 사용할 수 있습니다. 다음과 같은 내용 :

SKNode *parent = [SKNode new]; 
    parent.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:self.player.frame.size]; 
    [parent addChild:self.player]; 
    self.player.xScale = -1; 

모든 것을 함께 보관할 빈 게임 개체와 비슷합니다. 불행히도 새로운 부모 노드를 수용하기 위해 일부 코드를 변경해야 할 수도 있습니다.

관련 문제