开源项目地址:https://github.com/shinneider/godot_touchJoyPad

效果图:

下载项目

方法一

直接从godot assets lib下载

如图,直接下载自动安装即可

方法二

从github下载zip导入

 (如果此方法导入后提示素材丢失,按照提示修改插件目录的路径即可)

导入完成之后,在资源管理器中可以找到对应的场景

在需要的场景中的UI画布层新建一个ViewportContainer,然后将在里面实例化touchJoyPad.tscn

此时摇杆效果如图

选中摇杆后,可以发现有这些属性可以设置

它们分别为

Left Pad Style 摇杆风格:D-Pad按键 JoyStick摇杆

mapAnalogToDpad 是否将摇杆映射为按键(D-Pad)

visibleOnlyTouchscreen 只在触摸屏上可见

AnalogTapToShow 摇杆在点击屏幕时显示且可以在任意位置触发

配置结束后打开场景就能愉快地使用摇杆了!

D-Pad按键默认会自动将点击的动作映射到ui_XXX(left,right,up,down),摇杆可以通过建立节点,设置分组为JoyStick然后挂载脚本,使用建立analog_signal_change来监听摇杆事件,如下:

1 func analog_signal_change(analogPosition, analogName):
2 # When to move Analog, send signal to natives ui signal
3 # but implements a dead zone in 20% in the curso of Analog
4 # This is good for to avoid user mistakes in move hand
5 Input.action_press("ui_left") if analogPosition.x < -0.2 else Input.action_release("ui_left")
6 Input.action_press("ui_right") if analogPosition.x > 0.2 else Input.action_release("ui_right")
7 Input.action_press("ui_down") if analogPosition.y < -0.2 else Input.action_release("ui_down")
8 Input.action_press("ui_up") if analogPosition.y > 0.2 else Input.action_release("ui_up")

如果想要定制摇杆功能,可以修改源码,源码就在下图的位置:

在Godot 3.X中添加触屏摇杆的更多相关文章

  1. Hammer.js——给bootstrap添加触屏功能

    Hammer.js qq群号(html5技术交流):158677025   手机端演示二维码(或直接在手机中输入网址:http://lilinfeng.cncoder.me 浏览效果): 一.前言 移 ...

  2. python3 shell 中添加清屏

    在windows中: 安装目录 \Lib(  D:\Python37\Lib) 中添加 ClearWindow.py 文件,文件内容: """ Clear Window ...

  3. [原创]cocos2d-x研习录-第三阶 特性之触屏

    游戏跟视频最大的区别就是互动,而手游(基于智能手机)主要靠触摸屏幕.重力传感和虚拟键盘等方式实现互动.这里主要记录Cocos2D-x对玩家触屏操作的处理. 在Cocos2D-x中触屏分为单点触屏和多点 ...

  4. 在触屏设备上面利用html5裁剪图片(转)

    前言 现在触屏设备越来越流行,而且大多数已经支持html5了.针对此,对触屏设备开发图片裁剪功能, 让其可以直接处理图片,减轻服务端压力. 技术点 浏览器必须支持html5,包括fileReader, ...

  5. [IOS]自定义长触屏事件

    写一个Demo来自定义一个长触屏事件,自定义长按手势. 实现步骤: 1.创建一个自定义手势类,命名为LongPressGestureRecognizer,在创建的时候继承UIGestureRecogn ...

  6. 【Linux开发】【Qt开发】嵌入式Qt程序使用触屏或USB鼠标方式

    上文<嵌入式Qt开发-移植到ARM开发板 >介绍了Qt程序的移植,本文再说下如何使开发板Qt程序使用触摸屏或USB方式进行交互. 之前刚把一个qt程序移植到arm板上成功运行显示时就开心的 ...

  7. 转:触屏中的js事件

    一.触摸事件 ontouchstartontouchmoveontouchendontouchcancel 目前移动端浏览器均支持这4个触摸事件,包括IE.由于触屏也支持MouseEvent,因此他们 ...

  8. 在触屏设备中拖动 overflow 元素

    在 Android 和 iOS 等触屏设备中,如果网页中某元素设置 overflow: auto 或者 overflow:scroll,那么问题就来了.在 Android 3.0 之前以及 iPhon ...

  9. 转:Android随笔之——使用Root权限实现后台模拟全局按键、触屏事件方法(类似按键精灵)

    本文转载自CSDN的jzj1993,原文连接:http://blog.csdn.net/jzj1993/article/details/39158865 有时我们需要使用安卓实现在后台模拟系统按键,比 ...

  10. 触屏手机3G网站设计

    随着智能手机iphone和Android的热潮,衍生出基于Safari和Chrome浏览器的触屏手机网站Touch Screen Mobile Website. 触屏手机网站在中国还属于起步阶段,从行 ...

随机推荐

  1. Jenkins - Windows环境修改主目录路径

    Jenkins - Windows环境修改主目录路径 前言 如果Jenkins部署在Windows环境中,Jenkins主目录默认在 C:\Users\用户名\.jenkins下: 所有Jenkins ...

  2. 【GiraKoo】C++编译中常用的内置宏

    开源项目:https://girakoo.com/ 联系方式:girakoo@163.com 简介 针对不同的平台,很多头文件,函数名称,类型占用空间不一致. 为了保证跨平台可编译,经常需要在项目中使 ...

  3. Elasticsearch 之 join 关联查询及使用场景

    在Elasticsearch这样的分布式系统中执行类似SQL的join连接是代价是比较大的,然而,Elasticsearch却给我们提供了基于水平扩展的两种连接形式 .这句话摘自Elasticsear ...

  4. 改变用户体验:Whirl动画加载库的无限可能

    哈喽!欢迎来到程序视点.今天小二哥要分享的不是 Animate.js,也不是 Move.js,而是能提供108种加载动画的库:Whirl. 让加载动画变得丰富多彩! 最省力的加载动画 话不多说,直接来 ...

  5. IntelliJ IDEA 的初次使用--/护头

    IntelliJ IDEA 的使用 使用前先完成以下两点 环境配置 Win10环境配置(二) --Java篇 软件安装 IntelliJ IDEA 的安装 在完成软件安装,打开软件的瞬间,我是懵逼的. ...

  6. Basic Pentesting

    来自tryhackme的 Basic Pentesting 开靶场IP:10.10.227.255 # nmap 端口扫描 PORT STATE SERVICE VERSION 22/tcp open ...

  7. S32DS学习日志:debug文件和烧录的.hex文件

    工程导入之后先clean一下,重新编译生成的文件默认在Production文件下面,得重新设置 折腾半天用jlink烧录没反应,原来是这里错了. production下的文件是用来用来集成bootlo ...

  8. Redis系列16:聊聊布隆过滤器(原理篇)

    Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5: ...

  9. 通过安装GVM 安装GO 操作步骤

    转载请注明出处: 1.GVM GVM是Go Version Manager的缩写,是一个用于管理Go语言版本的工具.通过GVM,我们可以轻松地安装.切换和卸载不同版本的Go语言.GVM会在用户的hom ...

  10. 【接口测试】Postman(三)-变量与集合

    变量与集合 ​ 在Postman中,我们进行接口测试一般是以集合为单位,而在日常应用中,我们会经常使用到变量.下面我们将介绍一下变量和集合的一些用法. 文章目录导航: 目录 变量与集合 一.变量 1. ...