Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 用纹理画一个圆形的三角形?_Swift_Sprite Kit - Fatal编程技术网

Swift 用纹理画一个圆形的三角形?

Swift 用纹理画一个圆形的三角形?,swift,sprite-kit,Swift,Sprite Kit,有没有一种方法可以用纹理画出一个圆形的SKSpriteNode?或者,用纹理绘制一个SKShapeNode?考虑所有图像都是矩形/正方形。我们所看到的圆形,就是我们如何显示彩色像素:圆圈外的是透明的,圆圈内的是彩色部分 我们需要一个圆圈 我们把它织成纹理 我们将其添加到场景中 我们从这个刚刚添加到场景中的形状节点取回一个新纹理 我们用这种新的纹理制作了一个新的雪碧 我们将精灵添加到场景中 let shape: SKShapeNode = SKShapeNode(circleOfRadius: 5

有没有一种方法可以用纹理画出一个圆形的SKSpriteNode?或者,用纹理绘制一个SKShapeNode?

考虑所有图像都是矩形/正方形。我们所看到的圆形,就是我们如何显示彩色像素:圆圈外的是透明的,圆圈内的是彩色部分

  • 我们需要一个圆圈
  • 我们把它织成纹理
  • 我们将其添加到场景中
  • 我们从这个刚刚添加到场景中的形状节点取回一个新纹理
  • 我们用这种新的纹理制作了一个新的雪碧
  • 我们将精灵添加到场景中

    let shape: SKShapeNode = SKShapeNode(circleOfRadius: 50)
    shape.name = "shape"
    shape.lineWidth = 1 // this way we see that this is a circle
    shape.fillColor = .white // to see the true colors of our image
    //shape.strokeColor = .white
    //shape.glowWidth = 0
    shape.fillTexture = SKTexture(imageNamed:"myImage")
    shape.position = CGPoint(x: 0, y:200)
    self.addChild(shape)
    
    let newTexture: SKTexture = (self.view?.texture(from: self.childNode(withName: "shape")!))!
    let sprite: SKSpriteNode = SKSpriteNode(texture: newTexture)
    self.addChild(sprite) 
    
    shape.removeFromParent()
    

  • 你可以让纹理变圆,不是吗?纹理实际上是由用户在现场选择的,所以他们不能是圆的。“带纹理”是什么意思?创建圆形精灵有几种方法。您可以使用
    形状创建纹理,而无需通过
    视图?将其添加到场景中。纹理(来源:形状)