我開始使用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,偉大的答案。明天我會測試你的答案。謝謝。 –