У меня есть SKSpriteNode
самолета. Вот изображение (300px х 83px):SKPhysicsBody кажется слишком большим
Изображение назван [email protected]
в моей Xcode проекте.
Теперь я добавляю физики тела в самолете:
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
порождается SKPhysicsBody Path Generator
Для отладки физики тела самолета я добавил SKShapeNode
с такой же, как и для CGPath
физика тела:
SKShapeNode *shape = [[SKShapeNode alloc] init];
shape.path = path;
shape.strokeColor = [SKColor colorWithRed:1.0 green:0 blue:0 alpha:0.5];
[self addChild:shape];
Вот результат:
Я делаю что-то неправильно?
PS: Замечания интересной штуковины. Если я указываю 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» и убедитесь, что установлен флажок Retina. В общем, попробуйте различные варианты, чтобы увидеть, как это выглядит на устройствах Retina и non Retina. Хотя форма выглядит не так, как будто она 2x масштабируется, больше похожа на 3x или 4x. – LearnCocos2D
Я использую изображение, которое я приложил. Это же изображение относится к проекту Xcode. Форма выглядит как 3-кратное масштабирование. –