gpt4 book ai didi

ios - Swift Spritekit 计数触摸

转载 作者:行者123 更新时间:2023-11-28 09:03:38 26 4
gpt4 key购买 nike

我想在一个节点上执行多项操作。

因此,例如,在第一次触摸此节点时,第一个操作应该运行。第二次触摸:第二个 Action 应该运行。

下面是带有 touches.count 的无效代码示例。

override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
let node = self.nodeAtPoint(location)

if node == myNode {
if touches.count == 1 {
action1()
}
if touches.count == 2 {
action2()
}
if touches.count == 3 {
action3()
}
}
}
}

最佳答案

您需要一个成员变量来跟踪自您的应用程序启动以来的触摸次数。 touches.count 方法不是累积的。

var cumulativeNumberOfTouches = 0

override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {

for touch: AnyObject in touches {
let location = touch.locationInNode(self)
let node = self.nodeAtPoint(location)

if node == myNode {

cumulativeNumberOfTouches += 1

switch cumulativeNumberOfTouches {
case 1:
action1()
case 2:
action2()
case 3:
action3()
default:
/* do something or nothing or whatever */
println("\(cumulativeNumberOfTouches) touches")
}
}
}

}

关于ios - Swift Spritekit 计数触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31407990/

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