我发现,它可能使用单一SKShapeNode对象呈现多个多边形:使用单个SKShapeNode呈现多个重叠的多边形?
class GameScene: SKScene {
override func didMove(to view: SKView) {
let polygons = [
[
CGPoint(x: 0, y: 0),
CGPoint(x: 100, y: 100),
CGPoint(x: 100, y: 0)
],
[
CGPoint(x: 50, y: 50),
CGPoint(x: 50, y: 150),
CGPoint(x: 150, y: 150),
CGPoint(x: 150, y: 50),
],
]
let path = CGMutablePath()
for points in polygons {
path.addLines(between: points)
path.closeSubpath()
}
let node = SKShapeNode(path: path)
node.fillColor = UIColor.red
addChild(node)
}
}
然而,在多边形重叠的任何空间呈现为空:
是否有可能填补那些空白的空间,同时继续使用单个节点?
简短的答案是...你不能。但是,您可以从多边形创建图像,从图像创建纹理,并从纹理创建精灵节点。 – 0x141E
你解决了这个问题吗? – 0x141E
@ 0x141E我尝试了纹理生成方法,但是在每一帧上执行它都太慢了,这是我需要的一个形状转换节点。 – scribu