gpt4 book ai didi

ios - SKShapeNode .strokeColor 在更改 node.alpha 时看起来与 .fillColor 相同

转载 作者:可可西里 更新时间:2023-11-01 02:18:43 25 4
gpt4 key购买 nike

当我更改 SKShapeNode 的 .alpha 时,它的 stroke 显示自己好像节点的 .strokeColor 比它的 .fillColor 更亮。将 .lineWidth 设置为 0 会取消笔画提供的抗锯齿平滑度。将 .strokeColor 设置为 SKColor.clearColor 也是如此。

SKShapeNode stroke alpha issue

问题

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

最佳答案

虽然可以直接通过获取节点的“颜色”HSBA 并重新分配具有不同alphastroke(更多信息请查看 this answer ),因为节点的 fill 覆盖了节点的 strokestroke's alpha 必须设置为 0 以便它实际上不会被看到。但这会取消抗锯齿。

看来,要实现平滑节点边缘且看不到 stroke 的唯一方法是将 SKShapeNode 转换为 SKSpriteNode 并且将 sprite.alpha 重置为所需的值。

smooth

这是 Swift 中的代码片段

let sprite = SKSpriteNode(texture: self.view!.textureFromNode(shapeNode))

没那么糟糕,因为根据 Apple's docs

The node being rendered does not need to appear in the view’s presented scene.

但是,您仍然必须能够从发生转换的位置访问 View

关于ios - SKShapeNode .strokeColor 在更改 node.alpha 时看起来与 .fillColor 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33506091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com