我尝试使用swift
在sprite kit中制作我的第一个游戏现在一切正常,但我不知道如何处理触摸并按住屏幕
当玩家保持触摸时,我试图发挥跳跃力但我无法找到此事件
谢谢;)
答案 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”并根据触摸位置计算当前角度。