비행기가 SKSpriteNode
입니다. 이미지가 내 Xcode 프로젝트에 [email protected]
로 이름SKPhysicsBody가 너무 크게 나타납니다.
: 여기 이미지 (300 픽셀의 X의 83px)이다.
는 지금은 비행기로 물리 몸을 추가 해요 :CGFloat offsetX = self.size.width * self.anchorPoint.x;
CGFloat offsetY = self.size.height * self.anchorPoint.y;
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 24 - offsetX, 124 - offsetY);
CGPathAddLineToPoint(path, NULL, 24 - offsetX, 47 - offsetY);
CGPathAddLineToPoint(path, NULL, 339 - offsetX, 1 - offsetY);
CGPathAddLineToPoint(path, NULL, 401 - offsetX, 3 - offsetY);
CGPathAddLineToPoint(path, NULL, 452 - offsetX, 52 - offsetY);
CGPathAddLineToPoint(path, NULL, 411 - offsetX, 78 - offsetY);
CGPathAddLineToPoint(path, NULL, 295 - offsetX, 78 - offsetY);
CGPathAddLineToPoint(path, NULL, 268 - offsetX, 93 - offsetY);
CGPathAddLineToPoint(path, NULL, 95 - offsetX, 78 - offsetY);
CGPathAddLineToPoint(path, NULL, 62 - offsetX, 124 - offsetY);
CGPathCloseSubpath(path);
self.physicsBody = [SKPhysicsBody bodyWithPolygonFromPath:path];
CGPath
CGPath
와 함께
SKShapeNode
을 추가 한 비행기의 물리학 몸을 디버깅하려면
SKPhysicsBody Path Generator
에 의해 생성되는 물리학 몸 :
SKShapeNode *shape = [[SKShapeNode alloc] init];
shape.path = path;
shape.strokeColor = [SKColor colorWithRed:1.0 green:0 blue:0 alpha:0.5];
[self addChild:shape];
결과는 다음과 같습니다.
내가 잘못하고 있나?
추 신 : 흥미로운 점 유의 사항. 다음과 같이 CGPath
을 지정하면
CGPathMoveToPoint(path, NULL, 24/3.0 - offsetX, 124/3.0 - offsetY);
CGPathAddLineToPoint(path, NULL, 24/3.0 - offsetX, 47/3.0 - offsetY);
모양이 비행기에 잘 어울립니다.
@ 2x 버전의 이미지를 사용하여 생성기로 모양을 만들었습니까? "@ 2x"이미지를 사용하여 망막 체크 박스가 설정되어 있는지 확인하십시오. 일반적으로 망막 및 비 망막 장치에서 보이는 모습을 보려면 다양한 변형을 시도하십시오. 모양이 2x 배율로 보이지는 않지만 3x 또는 4x와 비슷합니다. – LearnCocos2D
첨부 한 이미지를 사용하고 있습니다. 동일한 이미지가 Xcode 프로젝트로 이동합니다. 모양은 배율 3 배처럼 보입니다. –