我开始使用sprite-kit框架,我想知道是否有可能将正方形分解为三角形或其他小多边形。将一个多边形分解成小块或三角形
我知道如何检测子弹和基本多边形之间的碰撞,但是定义了Sprite-kit中的任何方法来将多边形划分为多个小方块?
在此先感谢。
我开始使用sprite-kit框架,我想知道是否有可能将正方形分解为三角形或其他小多边形。将一个多边形分解成小块或三角形
我知道如何检测子弹和基本多边形之间的碰撞,但是定义了Sprite-kit中的任何方法来将多边形划分为多个小方块?
在此先感谢。
您可能会想要使用类似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];
我不相信有。我相信这是关节的目的。你创建个体,然后用固定关节将它们连接在一起。连接的物体作为一个整体,直到你决定破坏一些或全部的关节。
这个页面有关于创建关节细节: https://developer.apple.com/library/IOS/documentation/SpriteKit/Reference/SKPhysicsJoint_Ref/Reference/Reference.html
Woahh,伟大的答案。明天我会测试你的答案。谢谢。 –