我正在Godot3.1中制作一个简单的android移动游戏。我需要做一个滑动检测器,以确定球员是否滑动和哪个方向(左或右)。
我试过这个:
var swipe_start = null
var minimum_drag = 100
func _unhandled_input(event):
if event.is_action_pressed("click"):
swipe_start = event.get_position()
if event.is_action_released("click"):
_calculate_swipe(event.get_position())
func _calculate_swipe(swipe_end):
if swipe_start == null:
return
var swipe = swipe_end - swipe_start
if abs(swipe.x) > minimum_drag:
if swipe.x > 0:
_right()
else:
_left()这是当你点击你的鼠标和滑动,但它不工作,当你在你的android手机播放它。
有什么想法吗?
发布于 2020-01-11 19:14:13
该代码只考虑单击而不考虑屏幕触摸,以更正您有两个选项:
func _unhandled_input(event):
if event is InputEventScreenTouch:
if event.pressed:
swipe_start = event.get_position()
else:
_calculate_swipe(event.get_position())而不是:
func _unhandled_input(event):
if event.is_action_pressed("click"):
swipe_start = event.get_position()
if event.is_action_released("click"):
_calculate_swipe(event.get_position())使用最后一个解决方案,代码只考虑屏幕触摸,所以除非您转到项目>项目设置>输入设备>指向并打开鼠标的模拟触摸,否则您将无法在PC上进行测试。
https://stackoverflow.com/questions/59693535
复制相似问题