我试图弄清楚如何检测用户何时停止按住按钮。我试图让背景连续滚动并为角色设置动画以模拟步行效果。
要移动背景,我在 GameScene.Swift 中有这个:
override func update(currentTime: NSTimeInterval) {
background.position = CGPoint(x: background.position.x - 5, y: background.position.y)
backgroundRepeated.position = CGPoint(x: backgroundRepeated.position.x - 5, y: backgroundRepeated.position.y)
if (background.position.x < -background.size.width) {
background.position = CGPointMake(backgroundRepeated.position.x + backgroundRepeated.size.width, background.position.y)
}
if (backgroundRepeated.position.x < -backgroundRepeated.size.width) {
backgroundRepeated.position = CGPointMake(background.position.x + background.size.width, backgroundRepeated.position.y)
}
}
适用于移动背景。然后我遇到了以某种方式获取 GameViewController.Swift 上的元素来做事的问题。
所以,我通过在GameViewController上进行IBAction解决了这个问题,当用户持有长按时,它会创建一个NSUserDefaults条目:
gameActions.setObject(true, forKey: "Walking")
然后我将上面的代码包装在if:
中let startWalking = gameActions.boolForKey("Walking")
if (startWalking == true) {
//stuff to animate
}
1)如何检测用户何时停止按住按钮。我见过 UIGestureRecognizer.Ended ,但我看不清楚如何实现它。