【问题标题】:SpriteKit SKPhysicsBody from CGPath polygon issue来自 CGPath 多边形问题的 SpriteKit SKPhysicsBody
【发布时间】:2013-11-26 20:34:33
【问题描述】:

我在绘制一个看起来像半管的多边形的 SKPhysicsBody 时遇到了问题。我得到的代码如下:

    _halfpipe_left = [SKSpriteNode spriteNodeWithImageNamed:@"halfpipe_left"];
    _halfpipe_left.position = CGPointMake(5*26, 5*26);
    _halfpipe_left.anchorPoint = CGPointMake(0, 0);

    CGMutablePathRef halfpipe_leftpath = CGPathCreateMutable();
    CGPathMoveToPoint(halfpipe_leftpath, NULL, 0, 0);
    CGPathAddLineToPoint(halfpipe_leftpath, NULL, 78, 0);
    CGPathAddLineToPoint(halfpipe_leftpath, NULL, 78, 78);
    CGPathAddLineToPoint(halfpipe_leftpath, NULL, 52, 78);
    CGPathAddLineToPoint(halfpipe_leftpath, NULL, 48, 59);
    CGPathAddLineToPoint(halfpipe_leftpath, NULL, 42, 47);
    CGPathAddLineToPoint(halfpipe_leftpath, NULL, 31, 36);
    CGPathAddLineToPoint(halfpipe_leftpath, NULL, 19, 30);
    CGPathAddLineToPoint(halfpipe_leftpath, NULL, 0, 26);
    CGPathCloseSubpath(halfpipe_leftpath);

    _halfpipe_left.physicsBody = [SKPhysicsBody bodyWithPolygonFromPath:halfpipe_leftpath];

当我尝试让身体与他人互动时,它的行为就像创建了一些更小、形状不规则的多边形。

非常感谢任何见解或帮助!

【问题讨论】:

  • 对于任何想知道的人,我找到了答案。 SKPhysicsBodies 必须是凸形,这是凹形的。

标签: cgpath


【解决方案1】:

尝试使用 Thomas Zinnbauer 创建的物理调试器。

https://github.com/ymc-thzi/physicsDebugger

它是调试物理实体的好工具,因为它可以在精灵上绘制它们的形状。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-03
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 2013-11-26
    相关资源
    最近更新 更多