【问题标题】:Change node.name inside of touch without running again?在触摸内更改 node.name 而不再次运行?
【发布时间】:2017-06-04 15:47:24
【问题描述】:

我想单击某个 spritenode 并更改该 spritenode 的值。这是问题所在。当我这样做并设置一个 if 语句时,它知道要转到该 if 语句。但是,我不希望它在下次单击按钮之前运行。

例子:

apple.name = "apple"

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
    for touch in touches {
        let location = touch.location(in: self)
        let node : SKNode = self.atPoint(location)
        if node.name == "apple" {
            appple.name = "orange" 
            print("Hello")
        }
        if node.name = "orange" {
        //do this
}

    }
}

有没有办法做到这一点?

【问题讨论】:

    标签: swift sprite-kit sknode


    【解决方案1】:

    首先,在您的第二个 if 语句中,您没有检查值“==”,而是为它分配了值“=”。

    无论如何,解决问题的一个简单方法是添加一个 else if 语句。

    if node.name == "apple" {
            appple.name = "orange" 
            print("Hello")
        }else if node.name == "orange" {
        //do this
    }
    

    【讨论】:

      猜你喜欢
      • 2017-07-07
      • 2016-07-03
      • 1970-01-01
      • 1970-01-01
      • 2019-03-06
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 2015-11-21
      相关资源
      最近更新 更多