检查随机动作的结果?
Posted
技术标签:
【中文标题】检查随机动作的结果?【英文标题】:Checking the result of a random action? 【发布时间】:2016-06-17 17:23:59 【问题描述】:var colorize1 = SKAction.colorizeWithColor(.redColor(), colorBlendFactor: 1.0, duration: 0.3)
var colorize2 = SKAction.colorizeWithColor(.greenColor(), colorBlendFactor: 1.0, duration: 0.3)
var colorize3 = SKAction.colorizeWithColor(.blueColor(), colorBlendFactor: 1.0, duration: 0.3)
var actions = [colorize1, colorize2, colorize3]
var randomIndex = Int(arc4random_uniform(3))
var action = actions[randomIndex]
let seconds = 0.14
let delay = seconds * Double(NSEC_PER_SEC) // nanoseconds per seconds
let dispatchTime = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
dispatch_after(dispatchTime, dispatch_get_main_queue(),
self.Ball.runAction(action)
)
因此,这段代码将我的球着色为红色、绿色或蓝色。有没有办法在我的游戏运行时检查它选择了哪种颜色?它不只是选择一个然后就完成了,我的球的颜色每隔几秒钟就会改变一次。如何构造一个 if 语句,例如:“如果我的操作选择的随机颜色是红色,那么 print("hey") 或类似的东西?
edit我是 swift 和 xCode 的新手,所以我可能需要更深入的帮助。
【问题讨论】:
你不能在randomIndex
的值上只用switch
吗?
@AMomchilov 你能给我举个例子吗?
我觉得您一直在问问题而没有真正告诉我们您要完成的工作。您询问检查所选颜色的问题,但随后描述了执行随机操作,例如打印字符串...您实际上之后是什么值以及您需要它们用于什么什么 ?
我正在尝试制作我的第一个应用程序,但对 xCode 的经验很少。这是我需要的。如果我的球员试图进入两堵墙之间的空隙,如果墙和球的颜色不同,我需要他输掉比赛。 @T.BenjaminLarsen 我一直在问,因为我绝对想不通,我正在努力获得有关如何做到这一点的有用帮助。
我真的不介意提供帮助,但您提出的问题与几个小时前您现在描述的完全相同的问题。我提供了一个答案(可能有帮助也可能没有帮助),但不是继续讨论,而是创建一个新线程......
【参考方案1】:
你可以打开你的randomIndex
:
switch randomIndex
case 0:
print("colorize1")
case 1:
print("colorize2")
case 2:
print("colorize3")
【讨论】:
@TiptonixBeats 你应该考虑将colorize1
、colorize2
、colorize3
变成一个枚举。以上是关于检查随机动作的结果?的主要内容,如果未能解决你的问题,请参考以下文章