gpt4 book ai didi

多次点击时,Swift Spritekit 会改变节点的颜色

转载 作者:搜寻专家 更新时间:2023-11-01 07:11:54 25 4
gpt4 key购买 nike

我试图让它根据数组中的颜色更改菜单场景中节点的填充颜色。

我有一个填充了 4 种颜色的数组,当我按下节点时,它应该根据位置过滤这些颜色。因此,当我点击该节点一次时,它应该将颜色变为红色,如果我再次点击它,它会变为绿色,再点击一次会将其变为紫色,然后再变回蓝色

var colors = [UIColor.blue, UIColor.red, UIColor.green, UIColor.purple]

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch = touches.first!
var index = 0
if changeColor.contains(touch.location(in: self)) {
index += 1
changeColor.fillColor = colors[index]
if index == 3 {
index = 0
}
}
}

但是,这只能读取一次点击,我需要它注册多次点击

最佳答案

将索引的初始化移到 touches begin 函数之外,并在更改颜色后增加索引。

var colors = [UIColor.blue, UIColor.red, UIColor.green, UIColor.purple]
var index = 0

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch = touches.first!

if changeColor.contains(touch.location(in: self)) {
changeColor.fillColor = colors[index]
index += 1

if index == colors.count {
index = 0
}
}
}

关于多次点击时,Swift Spritekit 会改变节点的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44444417/

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