The ultimate touch joypad for Godot 4 (fork)
touch_control_materials | ||
.gitattributes | ||
.gitignore | ||
DemoCharacter.vs | ||
icon.png | ||
icon.png.import | ||
LICENSE | ||
main.tscn | ||
project.godot | ||
README.md | ||
touch_buttons.tscn | ||
touch_dpad.tscn |
G4-Ultimate-Touch-Joypad
The ultimate touch joypad for Godot 4.
https://user-images.githubusercontent.com/1403194/163666102-90858095-f24c-4ed4-96f8-31b81eeebafd.mp4
Features:
- Multi-touch supported: this joypad is coded in a way that it won't get interfered with other touch-related features in the game.
- Signal-based control: by using the engine's signal, the code is very simple, reliable, and fast!
- Area-based D-Pad control: the D-Pad uses an area specified by the button node to detect touch input instead of some calculations from the slowish user script. Therefore, the user can easily change the area to detect touch input from with thin the editor instead of having to change some complicated calculation in the script!
- Muti-size D-Pad supported: the user can easily change the D-Pad to any size as it won't break the code.
- Flexible D-Pad position: the user doesn't need the ultimate precision as the D-Pad will follow the user's thumb (in the limited area).
- Auto D-Pad recenter: the D-Pad will automatically return to its default positon. The user can specify the default position in the editor, there's no need to change this in the code.
- Visual Script: the code is written in Visual Script. Therefore, it's easy to read and understand the code if someone wants to modify it.
Usage
Open this demo project. Play with the project. Even parts of the joypad (D-Pad and some buttons) can be used seperately.
Made with love. If you love it, buy me a beer 🍺
Coin | Address |
---|---|
BTC | bc1qjudtjeuksdtnvy0fkvuuens03ctda4nsy83v2s |
ETH | 0xf9Ef151632C8b8630d6b4E0df6495Fc6B1eAdf0D |
ADA | addr1q80m8808nxadquh4huhjrzyys9lvr0mzp7lc3lu6v9j0hvklkww70xd66pe0t0e0yxygfqt7cxlkyral3rle5ctylweqnvau8k |
AR | lkx-PwhbB9UIZdMMqkSyEbRXUPDnSVecBmI-5J8PRZ4 |
XRP | rarw8UayjWbDe2AZzoRM32G7bdy9uZzrdz |
LTC | LfKzHbQyxbTk8TFUExz1vDWM1oSUjHyAi8 |
AAVE | 0xf9Ef151632C8b8630d6b4E0df6495Fc6B1eAdf0D |
SOL | 5WeSNqQkoqBpKtaUnWG38dheaobJN51FoVZgcNhVcsqD |
XMR | 42om8Y2tZ3N5P97hcZkkzJ5zeZ8KQz8LSDHBojjExmPq7RD5F5MrSuVFtGmoYikZvqQJ2bbqDDjQw4QCtftbTiXiLaqaMMj |
XCH | xch1rqgn03kmeus884es00g65xrujn0aglv8u26knkh65mmymed2p0gqtrfmsg |