首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SKShapeNode的替代方案

SKShapeNode的替代方案
EN

Stack Overflow用户
提问于 2015-06-25 20:43:18
回答 1查看 532关注 0票数 7

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

代码语言:javascript
复制
        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的SKShapeNode对我来说不是一个选择,除非有人知道如何解决所提到的问题。我已经了解了cocos2d,但是这似乎有点过火了(只对一个CCDrawNode使用整个库)。是否有任何开源/公共扩展的SKShapeNode (和快速),以改善绘图功能?要修复的最重要的事情是工件(节点中的白点/线)。如果没有公开的东西,Cocos2d是我最好的选择吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-12 00:36:36

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

基本上,要删除行中的工件,您需要将线宽设置为小于2.0的大小(无论出于什么原因,当它小于此大小时不会出现工件)。在设置线宽之后,您将希望按如下方式扩大SKNode:

代码语言:javascript
复制
node.xScale = 10
node.yScale = 10

这将使行看起来比原来的要厚得多,而且行中没有工件。

您可能还必须将“反别名”属性设置为false,否则行将显示为非常模糊。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31060426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档