SKShapeNode filltexture()不显示图像

时间:2015-12-26 04:46:27

标签: sprite-kit skshapenode sktexture

我想创建一个内容为图像(.png)的圆圈,并且基于SKShapeNode类引用,我认为我可以使用SKShapeNode.filltexture()函数将纹理设置为图像。但是当我运行下面的代码时,我得到了圆圈,但是我试图加载的“猫黑”的图像没有显示。我检查了我的Image.Assets是否有正确名称的图像,所以其他东西就出现了。 有任何想法吗?我附上以下输出:

 func newCircle(photo:String, position:CGPoint) -> SKShapeNode {

    let circle = SKShapeNode.init(circleOfRadius: 27)
    circle.fillTexture = SKTexture.init(image: UIImage(named: "cat-black")!)
    circle.strokeColor = UIColor.greenColor()
    circle.lineWidth = 4
    circle.name = "aggroNode"
    circle.position = position
    return circle

}

enter image description here

1 个答案:

答案 0 :(得分:15)

文档说明

  

默认值为nil。如果指定了填充纹理,则忽略fillColor属性,并忽略填充部分   使用纹理而不是[强调添加]渲染形状节点。

这表明必须填充形状或纹理不可见;因此,如果您使用

设置形状的填充颜色
circle.fillColor = .white

将出现纹理。您还可以使用不同的颜色设置fillColor来为纹理着色:

circle.fillColor = .blue