精灵套件用swift触摸并按住

时间:2015-04-07 18:59:11

标签: ios swift sprite-kit touch

我尝试使用swift

在sprite kit中制作我的第一个游戏

现在一切正常,但我不知道如何处理触摸并按住屏幕

当玩家保持触摸时,我试图发挥跳跃力但我无法找到此事件

谢谢;)

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

override func touchesBegan(touches: NSSet, withEvent event: UIEvent)  {
 // action when the user touches the screen 
 // you can know where did he touch the screen like this
let touchLocation = touches?.anyObject().locationInView(self/* or your view */) 
}
override func touchesMoved(touches: NSSet, withEvent event: UIEvent) {
   // your code here 
}
override func touchesEnded(touches: NSSet, withEvent event: UIEvent) {
       // your code here
}

这些方法可以帮助您触摸屏幕中的事件

答案 1 :(得分:0)

据我所知,你需要处理两种情况 1 - 玩家点击屏幕/节点 - 例如跳 2 - 玩家点击并保持 - 例如改变跳跃力

我认为你需要同时处理“touchesBegan”和“touchesEnded”。 在“touchesBegan”启动特殊计时器并在一段延迟(例如0.5秒)后开始播放特殊动画(跳跃功率指示器显示当前跳跃功率) on“touchesEnded” - 停止计时器,停止动画并计算结果跳跃力(基于计时器的值)。

如果您还需要处理跳跃的方向(角度) - 在这种情况下,您还应该处理“touchesMoved”并根据触摸位置计算当前角度。