gpt4 book ai didi

swift - 给 Sprite 着色与其纹理不同的颜色

转载 作者:行者123 更新时间:2023-11-28 15:27:42 24 4
gpt4 key购买 nike

我试图将 SKSPriteNode 的颜色从绿色更改为白色。它的质地原本是绿色的。但是,在某些情况下,我希望它完全是白色的。我试过这样做:

func loadBackButton() {
backButton = SKSpriteNode(imageNamed: "BackButton")
backButton.color = .white
backButton.size = CGSize(width: self.size.width * CGFloat(0.125), height: self.size.width * CGFloat(0.125))
backButton.position = CGPoint(x: self.size.width * CGFloat(-0.426), y: self.size.height * CGFloat(0.449))
self.addChild(backButton)
}

这并没有改变任何东西。所以我做了一些研究并尝试这样做:

func loadBackButton() {
backButton = SKSpriteNode(imageNamed: "BackButton")
backButton.colorBlendFactor = 1
backButton.color = .white
backButton.size = CGSize(width: self.size.width * CGFloat(0.125), height: self.size.width * CGFloat(0.125))
backButton.position = CGPoint(x: self.size.width * CGFloat(-0.426), y: self.size.height * CGFloat(0.449))
self.addChild(backButton)
}

然而,这也没有改变任何东西。有谁知道为什么它没有改变任何东西?

最佳答案

如果您需要它变白,您始终可以使用 SKCropNode 和白色 Sprite 节点添加叠加层。

基本上:

    let croppedNode = SKCropNode()
croppedNode.maskNode = sprite.copy() as? SKNode
sprite.addChild(croppedNode)
let whiteNode = SKSpriteNode(color:.white,size:sprite.size)
croppedNode.addChild(whiteNode)
croppedNode.zPosition = 1

关于swift - 给 Sprite 着色与其纹理不同的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45014903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com