Swift 触摸开始更新每一帧

Swift 触摸开始更新每一帧,swift,sprite-kit,touch,touchesbegan,Swift,Sprite Kit,Touch,Touchesbegan,我正在做一个有按钮的游戏:当按下按钮时,玩家向前移动。松开按钮时,播放器停止移动 现在我可以用touchesbeated和touchesend功能实现这一点,但这不是我想要的,因为我要添加更多按钮并启用多点触摸,必须有一种更简单的方法 有人知道怎么做吗?如何在swift中检索触摸位置 override func touchesBegan(touches: NSSet, withEvent event: UIEvent) { let touch = touches.anyObject()!

我正在做一个有按钮的游戏:当按下按钮时,玩家向前移动。松开按钮时,播放器停止移动

现在我可以用touchesbeated和touchesend功能实现这一点,但这不是我想要的,因为我要添加更多按钮并启用多点触摸,必须有一种更简单的方法


有人知道怎么做吗?

如何在swift中检索触摸位置

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
    let touch = touches.anyObject()! as UITouch
    let location = touch.locationInView(self)
}

您可以对所有其他功能执行相同的操作

这里是Objective-C的答案,尽管强烈建议您熟悉画面、屏幕上的位置、图层属性等,因为此解决方案可以检测到用户触摸和屏幕中元素位置之间的一致性(我说的是肖像画、风景画、动画等等)。 希望能有帮助

  • (无效)触摸开始:(NSSet*)触摸事件:(UIEvent*)事件{
    UITouch*touch=[触摸任何对象]; CGPoint-touchLocation=[touch-locationInView:self.view]

    if (CGRectContainsPoint(aViewForExample.frame, touchLocation)){
         //the user has touched within this element, so what's next?
    } 
    
    }


您需要获取触摸的位置,通过该位置,您可以决定用户按下、轻触或按住哪个按钮。如何从覆盖更新功能中获取位置?这是否适用于多点触摸?请阅读本教程,希望它能帮助您,谢谢,但对我没有帮助。我需要知道如何获取触摸的位置通过更新方法触摸。是的…它确实帮助你…触摸开始和触摸结束更新每一帧,就像更新一样。请给出一个从更新中调用的函数示例,该函数获取每一帧的位置。你的意思是什么?只需将其添加到应用程序的更新部分,它将为每一帧调用