Touchesbegan更新每一帧

时间:2015-05-21 22:29:59

标签: swift sprite-kit touch touchesbegan

我正在制作一个有按钮的游戏:当按下(触摸)按钮时,玩家向前移动。释放按钮后,播放器停止移动。

现在我可以使用touchesbegan和touchesended函数做到这一点,但这不是我想要的,因为我要添加更多按钮并启用多点触控,必须有一个更简单的方法..

任何人都知道怎么做?

2 个答案:

答案 0 :(得分:0)

如何在swift中检索触摸位置

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

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

答案 1 :(得分:0)

以下是Objective-C的答案,虽然熟悉框架,屏幕上的位置,图层属性等,但强烈建议这个解决方案检测用户触摸与元素位置之间的重合在屏幕上(我正在谈论肖像,风景......动画等)。 希望它有所帮助。

  • (void)touchesBegan:(NSSet *)触及withEvent:(UIEvent *)事件{
        UITouch * touch = [触及anyObject];     CGPoint touchLocation = [touch locationInView:self.view];

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

    }