gpt4 book ai didi

swift - 更改 SKSpriteNode 的颜色属性并不会更改其颜色

转载 作者:行者123 更新时间:2023-11-30 12:22:40 27 4
gpt4 key购买 nike

我正在加载一些 Sprite 的纹理,该纹理最初是红色的。但是,我想通过我的方法 loadPauseIcons() 将该颜色更改为白色:

func loadPauseIcons() {
let icons = ["HomeIcon", "LevelIcon", "RetryIcon"]
let iconSize = CGSize(width: pauseButton.size.width * 0.6, height: pauseButton.size.height * 0.6)
var iconY = pauseButton.position.y - pauseButton.size.height
for icon in icons {
let currentIcon = SKSpriteNode(imageNamed: icon)
currentIcon.position = CGPoint(x: pauseButton.position.x, y: iconY)
currentIcon.color = .white
currentIcon.size = iconSize
currentIcon.name = icon
currentIcon.zPosition = 11

iconY -= pauseButton.size.height * 0.35 + currentIcon.size.height
self.addChild(currentIcon)
pauseIcons.append(currentIcon)
}
}

此方法在 SKScene 的 TouchesBegan() 方法上运行。但是,我仍然得到一个红色图标:(房子和三个酒吧)

enter image description here

我在改变 Sprite 的颜色时做错了什么吗?

最佳答案

尝试添加:

currentIcon.colorBlendFactor = 1.0

默认情况下, Sprite 的 colorBlendFactor 为 0.0,这意味着它的 color 属性被忽略。 colorBlendFactor 的值越接近 1.0,应用的 Sprite color 属性就越多。

关于swift - 更改 SKSpriteNode 的颜色属性并不会更改其颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44600359/

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