【问题标题】: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 我一直在问,因为我绝对想不通,我正在努力获得有关如何做到这一点的有用帮助。
  • 我真的不介意提供帮助,但您提出的问题与几个小时前您现在描述的完全相同的问题。我提供了一个答案(可能有帮助也可能没有帮助),但不是继续讨论,而是创建一个新线程......

标签: ios swift uicolor skspritenode skaction


【解决方案1】:

你可以打开你的randomIndex:

switch randomIndex  {
case 0:
    print("colorize1")
case 1:
    print("colorize2")
case 2:
    print("colorize3")
}

【讨论】:

  • @TiptonixBeats 你应该考虑将colorize1colorize2colorize3 变成一个枚举。
猜你喜欢
  • 2021-12-05
  • 2011-03-30
  • 2016-05-21
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 2010-10-18
  • 2018-10-13
  • 2021-09-12
相关资源
最近更新 更多