【发布时间】:2015-07-29 11:02:40
【问题描述】:
我想为我的 SpriteKit 游戏创建一个迷宫,但我在设置正确的物理实体时遇到了问题。看看这个例子:
蓝色:CGPath
绿色:迷宫(CGPath linewidth=10)
红色:我要创建的物理体
我尝试使用 CGPath 和 SKShapeNode 绘制迷宫,但是如何为迷宫的内部边界设置物理体?
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 38, 266);
CGPathAddLineToPoint(path, NULL, 37, 23);
CGPathAddLineToPoint(path, NULL, 127, 22);
CGPathAddLineToPoint(path, NULL, 127, 184);
CGPathAddLineToPoint(path, NULL, 273, 185);
CGPathAddLineToPoint(path, NULL, 273, 98);
CGPathAddLineToPoint(path, NULL, 274, 184);
CGPathAddLineToPoint(path, NULL, 127, 184);
CGPathAddLineToPoint(path, NULL, 127, 23);
CGPathAddLineToPoint(path, NULL, 364, 23);
CGPathAddLineToPoint(path, NULL, 364, 266);
CGPathCloseSubpath(path);
SKShapeNode *labyrinth = [SKShapeNode shapeNodeWithPath:path];
labyrinth = [SKColor greenColor];
labyrinth.lineWidth = 10;
[self addChild:labyrinth];
。
labyrinth.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromPath:path];
不起作用。我需要一个选项来包含物理体路径的线宽。
有任何建议或其他选项来实现这样的迷宫吗?
【问题讨论】:
标签: ios macos sprite-kit skphysicsbody cgpath