2013-12-21 63 views
2

我开始使用sprite-kit框架,我想知道是否有可能将正方形分解为三角形或其他小多边形。将一个多边形分解成小块或三角形

我知道如何检测子弹和基本多边形之间的碰撞,但是定义了Sprite-kit中的任何方法来将多边形划分为多个小方块?

在此先感谢。

回答

1

您可能会想要使用类似this的工具。 它允许您定义physicsBody与自定义形状,例如:

SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"img"]; 

CGFloat offsetX = sprite.size.width * self.anchorPoint.x; 
CGFloat offsetY = sprite.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); 

sprite.physicsBody = [SKPhysicsBody bodyWithPolygonFromPath:path]; 
+1

Woahh,伟大的答案。明天我会测试你的答案。谢谢。 –