您好我正在通过检查按钮是否在touchesBegan中按下然后更新更新中的位置来移动精灵。我这样做是为了让用户无需一遍又一遍地按下向上/向下/向左/向右移动按钮。问题是,有时精灵不会停止移动,这肯定是由于这个原因。有谁知道更好的解决方案吗?为简洁起见,我将向您展示我正在处理向上按钮的方式。
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
for touch: AnyObject in touches {
// Get the location of the touch in this scene
let location = touch.locationInNode(self)
// Check if the location of the touch is within the button's bounds
if upButton.containsPoint(location) {
upButtonPressed = true
}
override func update(currentTime: CFTimeInterval) {
if upButtonPressed == true {
ball.position.y += 3
}
我在这里保持简单,但我确实有条件在我的代码中停止移动。我只是想知道是否有一种更简单的方法可以用长按手势识别器来做到这一点?