首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >戈多TouchScreen刷卡检测器

戈多TouchScreen刷卡检测器
EN

Stack Overflow用户
提问于 2020-01-11 10:24:09
回答 1查看 2.6K关注 0票数 1

我正在Godot3.1中制作一个简单的android移动游戏。我需要做一个滑动检测器,以确定球员是否滑动和哪个方向(左或右)。

我试过这个:

代码语言:javascript
复制
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手机播放它。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-11 19:14:13

该代码只考虑单击而不考虑屏幕触摸,以更正您有两个选项:

  • 转到项目>项目设置>输入设备>指向并打开模拟鼠标从触摸选项。
  • 或使用以下代码:

代码语言:javascript
复制
func _unhandled_input(event):
  if event is InputEventScreenTouch:
    if event.pressed:
      swipe_start = event.get_position()
    else:
      _calculate_swipe(event.get_position())

而不是:

代码语言:javascript
复制
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上进行测试。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59693535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档