gpt4 book ai didi

swift - 检测一个 Sprite 的颜色是否不是另一个 Sprite 的颜色

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

所以我有这个 Sprite 套件游戏,它是用 swift 2 编码的。游戏包括这些彩色圆圈(绿色,红色,紫色,黄色,蓝色),它们从相同的高度开始从屏幕上掉落,但从不同的宽度。屏幕底部有一个栏,告诉您不要按哪种颜色。因此,如果条形图是黄色的,并且您单击黄色圆圈,那么您就输了。我已经有了失败的实现,但我似乎无法弄清楚如何检测单击的圆圈是否不是栏上的颜色。这是我的颜色检测代码。请记住,变量“colorNeeded”是您不想单击的颜色

switch colorNeeded  {
case SKColor.redColor():
if Red.containsPoint(location) {
print("Color Needed is Blue, Blue Circle Clicked")
print("Lose, score is: \(score)")
changeColorNeeded()
}
break

case SKColor.blueColor():
if Blue.containsPoint(location) {
print("Color Needed is Blue, Blue Circle Clicked")
print("Lose, score is: \(score)")
changeColorNeeded()
}
break

case SKColor.yellowColor():
if Yellow.containsPoint(location) {
print("Color Needed is Blue, Blue Circle Clicked")
print("Lose, score is: \(score)")
changeColorNeeded()
}
break

case SKColor.greenColor():
if Green.containsPoint(location) {
print("Color Needed is Blue, Blue Circle Clicked")
print("Lose, score is: \(score)")
changeColorNeeded()
}
break

case SKColor.purpleColor():
if Purple.containsPoint(location) {
print("Color Needed is Blue, Blue Circle Clicked")
print("Lose, score is: \(score)")
changeColorNeeded()
}
break

default:
if Purple.containsPoint(location) || Green.containsPoint(location) || Yellow.containsPoint(location) || Blue.containsPoint(location) || Red.containsPoint(location){
score++
("Good Color Clicked")
ChangeCounter++
if ChangeCounter == 5 {
changeColorNeeded()
}
}
break
}

最佳答案

我会在您的 if 语句中添加一个 else ,它可以设置一个标志来指示您没有单击错误的颜色,或者调用具有该代码的方法在 defaultif 语句中。像这样的事情:

在被证实之前这是错误的:

var isSafeClick = false

case SKColor.redColor():

if Red.containsPoint(location) {

print("Color Needed is Blue, Blue Circle Clicked")
print("Lose, score is: \(score)")
changeColorNeeded()
} else {
isSafeClick = true
}

break

等等。对于 switch 中的每个 if 语句。在 switch 语句末尾添加另一个 if 来查看 isSafeClick 是否为 true:

if (isSafeClick) {
score++
("Good Color Clicked")
ChangeCounter++
if ChangeCounter == 5{
changeColorNeeded()
}
}

对于方法方式,只需将这段文本正上方的代码放入一个方法中(命名为“safeScorePoint”或其他名称),然后放在每个 if/else< 的 else 调用该方法。

关于swift - 检测一个 Sprite 的颜色是否不是另一个 Sprite 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32982281/

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