雪碧套件。为什么 .strokeTexture 不适用于 SKShapeNode?
SpriteKit. Why .strokeTexture does not work for SKShapeNode?
我不明白为什么 "strokeTexture" 选项在 SKShapeNode 上不起作用。或者,我怎样才能用纹理做边框?提前致谢!
let shape = SKShapeNode(circleOfRadius: 100)
shape.position = CGPoint(x: 200, y: 400)
shape.fillColor = SKColor.white
shape.fillTexture = SKTexture(imageNamed: "test")
shape.lineWidth = 50
shape.strokeColor = SKColor.white
shape.strokeTexture = SKTexture(imageNamed: "test(5)")
输出:
测试图片:
测试(5) 图片:
它在模拟器中不起作用!
在您的设备上试试。
我感觉这个笔触可能是用金属完成的,而填充不知何故不是用金属完成的,所以在模拟器中是可见的。
填充也不随设备上的对象旋转,但 stroke/outline 及其纹理会。
这往往表明没有填充的 SKShapeNode 可能具有合理的性能。
设置纹理的宽度和高度,用于渲染笔划,8像素的倍数。在您的情况下,Test(5) 的尺寸为 100x100。如果您将此纹理更改为另一个具有尺寸的纹理,例如96x96 像素,笔画将被正确渲染并显示。我不知道,为什么官方文档中没有提到这个事实。
我不明白为什么 "strokeTexture" 选项在 SKShapeNode 上不起作用。或者,我怎样才能用纹理做边框?提前致谢!
let shape = SKShapeNode(circleOfRadius: 100)
shape.position = CGPoint(x: 200, y: 400)
shape.fillColor = SKColor.white
shape.fillTexture = SKTexture(imageNamed: "test")
shape.lineWidth = 50
shape.strokeColor = SKColor.white
shape.strokeTexture = SKTexture(imageNamed: "test(5)")
输出:
测试图片:
测试(5) 图片:
它在模拟器中不起作用!
在您的设备上试试。
我感觉这个笔触可能是用金属完成的,而填充不知何故不是用金属完成的,所以在模拟器中是可见的。
填充也不随设备上的对象旋转,但 stroke/outline 及其纹理会。
这往往表明没有填充的 SKShapeNode 可能具有合理的性能。
设置纹理的宽度和高度,用于渲染笔划,8像素的倍数。在您的情况下,Test(5) 的尺寸为 100x100。如果您将此纹理更改为另一个具有尺寸的纹理,例如96x96 像素,笔画将被正确渲染并显示。我不知道,为什么官方文档中没有提到这个事实。