여기 내 코드입니다 :SKSpriteNode anchorPoint를 이동 한 SKPhysicsBody의 잘못된 작업입니까?
// setting background
_ground = [[SKSpriteNode alloc]
initWithColor:[SKColor greenColor]
size:CGSizeMake([Helpers landscapeScreenSize].width, 50)];
_ground.name = @"ground";
_ground.zPosition = 1;
_ground.anchorPoint = CGPointMake(0, 0);
_ground.position = CGPointMake(0, 0);
_ground.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake([Helpers landscapeScreenSize].width, 50)];
_ground.physicsBody.dynamic = NO;
_ground.physicsBody.affectedByGravity = NO;
_ground.physicsBody.categoryBitMask = groundCategory;
_ground.physicsBody.collisionBitMask = elementCategory;
_ground.physicsBody.contactTestBitMask = elementCategory;
녹색 사각형의 위치가 확인하지만, SKPhysicsBody 제대로이 사각형을 대표하지 않습니다. SKPhysicsBody가 스프라이트 위치 및 anchorPoint에 따라 본문을 "이동"하지 않는 것 같습니다. SKPhysicsBody는 _ground.width 포인트만큼 왼쪽으로 이동합니다.
내가 뭘 잘못하고 있니?
추신. 이 (코드)로 변경하면 내 문제가 해결되지만 실제로이 솔루션이 마음에 들지 않습니다. 요소를 배치하는 것은보기 흉한 방법입니다.
_ground.position = CGPointMake([Helpers landscapeScreenSize].width/2, 0);
+ 제거 :
_ground.position = CGPointMake(0, 0);
흥미롭게도 iOS 8에서는 문제가되지 않습니다. – Scott