开源项目地址: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,0.2,摇杆,ui,analogPosition,action,Input,触屏 From: https://www.cnblogs.com/wsdx233/p/17498877.html