【问题标题】:SKShapeNode not drawing UIBezierPathSKShapeNode 未绘制 UIBezierPath
【发布时间】:2015-05-24 16:12:29
【问题描述】:

在我的 SKScene 的 didMoveToView() 中调用此代码:

let frame = CGRect(x: 30, y: 200, width: 100, height: 100)
let path = UIBezierPath(rect: frame)
UIColor.blackColor().setStroke()
path.stroke()
self.addChild(SKShapeNode(path: path.CGPath))

什么都不做。场景是空的(它具有默认的 SKScene 灰色背景)。这里我只是尝试绘制一个黑色的未填充矩形(这是使用SKShapeNode绘制路径的简化版本,原始的绘制代码更复杂)。

【问题讨论】:

    标签: ios swift cocoa-touch sprite-kit skshapenode


    【解决方案1】:

    您的形状未显示,因为您没有为 SKShapeNode 提供填充或描边颜色。您的代码应该是:

    let path = UIBezierPath(rect: CGRect(x: 30, y: 200, width: 100, height: 100))
    
    let shapeNode = SKShapeNode(path: path.CGPath)
    shapeNode.strokeColor = UIColor.blackColor()
    addChild(shapeNode)
    

    【讨论】:

      【解决方案2】:

      模拟器中还有一个错误会阻止 SKShapeNodes 绘制路径。我发现相同的代码可以在硬件上正常工作。我没有解决方案让它在模拟器中显示。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-09
        • 1970-01-01
        • 2011-09-20
        • 1970-01-01
        • 2021-02-13
        相关资源
        最近更新 更多