SKShapeNode的替代品
我有一款使用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 drawing),所以它并没有针对我正在做的事情进行优化,而且一个更大的问题是该行有工件(因为它的行宽大于2)。 那些看起来像这样:http://i.stack.imgur.com/ccQ1s.png
考虑到这一点,我推断使用Sprite-kit的SKShapeNode不适合我,除非有人知道如何解决上述问题。 我研究过cocos2d,但是看起来好像有点矫枉过正(整个库仅用于CCDrawNode)。 是否有SKShapeNode(和swift)的开源/公共扩展,改进了绘图功能? 要修复的最重要的事情是工件(节点中的白点/线)。 如果什么都没有公开,Cocos2d是我的最佳选择?
尽管这篇文章有点老,但我认为我自己也可以自己回答,以免其他人遇到同样的问题。
基本上,要删除线条中的工件,您希望将线条宽度设置为小于2.0的尺寸(无论出于何种原因,当尺寸小于此值时都不会出现工件)。 在设置线宽之后,您需要像这样放大SKNode:
node.xScale = 10
node.yScale = 10
这会使线条看起来比它厚得多,并且线条中没有任何伪影。
您可能还必须将抗混淆属性设置为false,否则该行将显得非常模糊。
链接地址: http://www.djcxy.com/p/86005.html上一篇: Alternatives to SKShapeNode
下一篇: Rails 4 + Rolify Gem: User roles aren't being updated via UI