2013-12-21 66 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,偉大的答案。明天我會測試你的答案。謝謝。 –