开源项目地址: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. vue全家桶进阶之路37:Vue3 路由守卫

    在 Vue.js 3.x 中,我们可以使用路由守卫来拦截路由的跳转,从而实现一些功能,例如:登录验证.页面权限控制等. Vue.js 3.x 中的路由守卫和 Vue.js 2.x 中的基本相同,都包含 ...

  2. GitLib详细使用手册(windows系统)

    Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. 对gitlab的常见的使用有建立仓库.提交代码.更新代码.回滚代码.显示/修改日志.拉取分支.解决冲突.设置比 ...

  3. Ubuntu 18.04 (Bionic) 简单快速的安装mongodb

    按步骤走,不带脑子式安装(注意4.0版本mongodb官方已经不再支持,以下代码中可以修改mongodb版本号安装,目前最新版为6.0,如果懒得改直接用也可以,文章后边第三章第一条代码会直接升级为最新 ...

  4. SLAM系统--开启摄像头连接

    博客地址:https://www.cnblogs.com/zylyehuo/ 基于ORB-SLAM3库搭建SLAM系统详见之前的博客 基于ORB-SLAM3库搭建SLAM系统 - zylyehuo - ...

  5. 从 0 到 1 搭建自己的脚手架(java 后端)

    一.脚手架是什么 脚手架是一种基础设施工具,用于快速生成项目的框架代码和文件结构.它是一种标准化的开发工具,使开发人员能够在项目的早期阶段快速搭建出一个具备基本功能和结构的系统. 二.脚手架的意义 主 ...

  6. 2023-06-06:给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言, 其左右子结点分别位于 (row + 1, col -

    2023-06-06:给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列. 对位于 (row, col) 的每个结点而言, 其左右子结点分别位于 (row + 1, col - ...

  7. PicoRV32-on-PYNQ-Z2: An FPGA-based SoC System——RISC-V On PYNQ项目复现

    本文参考: 1️⃣ 原始工程 2️⃣ 原始工程复现教程 3️⃣ RISCV工具链安装教程 本文工程: https://bhpan.buaa.edu.cn:443/link/4B08916BF2CDB4 ...

  8. A First course in FEM —— matlab代码实现求解传热问题(稳态)

    这篇文章会将FEM全流程走一遍,包括网格.矩阵组装.求解.后处理.内容是大三时的大作业,今天拿出来回顾下. 1. 问题简介 涡轮机叶片需要冷却以提高涡轮的性能和涡轮叶片的寿命.我们现在考虑一个如上图所 ...

  9. ReactNative原理与核心知识点

    React Native特点 跨平台 使用js写出页面组件代码被React框架统一转成Virtual DOM树,Virtual DOM树是UI结构的一层抽象,可以被转换成任何支持端的UI视图. Rea ...

  10. 关于SQL SERVER 字段类型char(n) , nchar(n) , varchar(n) , nvarchar(n)

    对于很多新手来说,经常被字段类型搞得晕头转向,今天我用通俗易懂的解释帮大家理解这些类型. 在数据库字段类型定义中,可以分为两大类,一类为Unicode类型,另一种就是非Unicode. Unicode ...