gpt4 book ai didi

ios - SKShapeNode 的替代品

转载 作者:搜寻专家 更新时间:2023-10-30 21:58:29 24 4
gpt4 key购买 nike

我有一个用 SpriteKit 设计的游戏,它严重依赖 1 个 SKShapeNode(这是一条线)。我正在制作这样的线:

        if let path = createPathToMove() {
let shapeNode = SKShapeNode()
shapeNode.path = path
shapeNode.name = "line"
shapeNode.strokeColor = UIColor.blackColor()
shapeNode.lineWidth = 20
shapeNode.zPosition = 5
shapeNode.antialiased = false
shapeNode.lineCap = kCGLineCapRound
self.world!.addChild(shapeNode)
}

不幸的是,由于这是作为调试功能设计的(Sprite-kit 绘图),它没有针对我正在做的事情进行优化,更大的问题是线条有瑕疵(因为它的线条宽度大于 2) .那些看起来像这样: http://i.stack.imgur.com/ccQ1s.png

考虑到这一点,我推断使用 Sprite-kit 的 SKShapeNode 不是我的选择,除非有人知道如何解决上述问题。我研究过 cocos2d,但它似乎有点矫枉过正(仅将整个库用于 CCDrawNode)。 SKShapeNode(和swift)是否有任何开源/公共(public)扩展,可以改进绘图功能?要修复的最重要的事情是工件(节点中的白点/线)。如果没有任何公开的东西,Cocos2d 是我最好的选择吗?

最佳答案

虽然这篇文章有点老了,但我想我还是自己回答吧,以防其他人有同样的问题。

基本上,要消除线条中的瑕疵,您需要将线条宽度设置为小于 2.0 的大小(无论出于何种原因,小于此值时都不会出现瑕疵)。设置线宽后,您需要像这样放大 SKNode:

node.xScale = 10
node.yScale = 10

这将使线条看起来比实际粗得多,并且线条中没有伪影。

您可能还必须将 antialiased 属性设置为 false,否则线条会显得很模糊。

关于ios - SKShapeNode 的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31060426/

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