gpt4 book ai didi

swift - 在游戏过程中不断改变 SKShapeNode 的颜色属性 (Swift)

转载 作者:行者123 更新时间:2023-11-30 10:11:07 26 4
gpt4 key购买 nike

我在使用 swift 的 spritekit 游戏的背景中有一个 SKShapeNode var Circle = SKShapeNode(circleOfRadius: radius) 。圆圈是出于审美目的,因此没有任何东西与其相互作用。我希望 Circle.linesColor 始终不断变化。我当前的代码更改了 SKShapeNode 的描边颜色属性,但它不显示颜色更改,因为我在将属性添加到背景后更改该属性。颜色在整个游戏过程中保持不变,直到游戏结束并且圆圈从背景中移除然后重新创建。我的代码通过在每次更新函数运行时向 var colorTime: CGFloat = 0.0 添加 1 来更改颜色,然后使用该 colorTime 变量将 Circle 颜色的 RGB 值与余弦函数相关联。如何连续更改(并显示)圆圈的颜色?

override func update(currentTime: CFTimeInterval) {


if last_update_time == 0.0 {
delta = 0
} else {
delta = currentTime - last_update_time
}
last_update_time = currentTime

colorTime += 100
redColor = (cos(colorTime/100)+1)/2
greenColor = (cos(colorTime/200 - 2.09)+1)/2
blueColor = (cos(colorTime/300 - 4.18)+1)/2
circleColor = UIColor(red: redColor, green: greenColor, blue: blueColor, alpha: 1)
Circle.strokeColor = circleColor
}

最佳答案

我没有意识到这段代码实际上有效。唯一的问题是,游戏重新启动后会崩溃,因为我会再次将 SKShapeNode 添加到后台,而不会删除它。我将 Circle.removeFromParent() 添加到了 restartGame 函数中,现在一切顺利。

关于swift - 在游戏过程中不断改变 SKShapeNode 的颜色属性 (Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33022182/

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