gpt4 book ai didi

ios - 不断改变 Sprite 套件中 Sprite 的颜色

转载 作者:行者123 更新时间:2023-11-28 12:28:16 26 4
gpt4 key购买 nike

我想让我的 Sprite 在一个循环中平滑地改变它的颜色。然而,我能找到的所有东西都使用了 UIKit。有什么方法可以不使用 UI 工具包来做到这一点。这是我想做的,但在 UIKit 中:

 let red   = Float((arc4random() % 256)) / 255.0
let green = Float((arc4random() % 256)) / 255.0
let blue = Float((arc4random() % 256)) / 255.0
let alpha = Float(1.0)

UIView.animate(withDuration: 1.0, delay: 0.0, options:[.repeat, .autoreverse], animations: {
self.view.backgroundColor = UIColor(colorLiteralRed: red, green: green, blue: blue, alpha: alpha)
}, completion:nil)

提前致谢。

最佳答案

您或许可以使用类似这样的方法来更改背景。您或许可以将 getRandomColor 移动到 UIColor 作为扩展,以便您可以在整个项目中使用它。

override func sceneDidLoad() {

func getRandomColor() -> UIColor {
return UIColor.init(red: CGFloat(arc4random()) / CGFloat(UInt32.max),
green: CGFloat(arc4random()) / CGFloat(UInt32.max),
blue: CGFloat(arc4random()) / CGFloat(UInt32.max),
alpha: 1)
}

if let frame = self.scene?.frame {
let background = SKSpriteNode(color: .blue,
size: CGSize(width: frame.width,
height: frame.height))

background.run(SKAction.repeatForever(
SKAction.sequence([
SKAction.run {
background.run(SKAction.colorize(with: getRandomColor(),
colorBlendFactor: 1,
duration: 1))
},
SKAction.wait(forDuration: 1)])
))

self.addChild(background)
}

}

关于ios - 不断改变 Sprite 套件中 Sprite 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42795360/

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