更改node.alpha时,SKShapeNode .strokeColor与.fillColor相同

时间:2015-11-03 18:03:09

标签: ios objective-c swift sprite-kit skshapenode

当我更改SKShapeNode .alpha时,其stroke显示自身,好像节点的.strokeColor.fillColor更亮。将.lineWidth设置为0会消除中风提供的抗锯齿窒息。将.strokeColor设置为SKColor.clearColor也是如此。

SKShapeNode stroke alpha issue

问题

在更改node.alpha时,使笔划看起来与填充相同的最佳方法是什么,保留边缘的抗锯齿平滑度?

1 个答案:

答案 0 :(得分:1)

虽然可以通过获取其“颜色”alpha并将不同stroke的新颜色重新分配给{{1}来直接设置节点HSBA的{​​{1}} (更多信息请查看this answer),因为节点alpha涵盖节点strokefill stroke必须设置为stroke's所以它实际上不会被看到。但这取消了抗锯齿效果。

看来,实现平滑节点边缘而没有alpha的唯一方法是将0转换为stroke并将SKShapeNode重置为所需。

smooth

以下是Swift中的代码片段

SKSpriteNode

根据Apple's docs

,它并没有那么糟糕
  

正在渲染的节点不需要出现在视图中   呈现的场景。

但是,您仍然必须能够访问转化发生地的sprite.alpha