- Notifications
You must be signed in to change notification settings - Fork5
This project is an open-source tool for composing multiple, customized touch screen joysticks with the objective of improving the tooling available to Roblox developers for mobile games.
License
Bytebit-Org/roblox-TouchScreenJoysticks
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This project is an open-source tool for composing multiple, customized touch screen joysticks with the objective of improving the tooling available to Roblox developers for mobile games.
Simply install to yourroblox-ts project as follows:
npm i @rbxts/touch-screen-joysticks
Wally users can install this package by adding the following line to theirWally.toml
under[dependencies]
:
TouchScreenJoysticks = "bytebit/touch-screen-joysticks@1.0.8"
Then just runwally install
.
Model files are uploaded to every release as.rbxmx
files. You can download the file from theReleases page and load it into your project however you see fit.
New versions of the asset are uploaded with every release. The asset can be added to your Roblox Inventory and then inserted into your Place via Toolbox by getting ithere.
Click here to watch a video demonstration.
It only takes one line of code to create a joystick! Below is an example of just a handful of lines of code that can be used to quickly generate two joysticks, one on each side of the screen, and print their inputs:
import{CompositeJoystickRenderer,JoysticksManager,RectangleGuiWindowRegion,SolidFilledCircle}from"@rbxts/touch-screen-joysticks";import{Workspace,GuiService}from"@rbxts/services";do{wait()}while(!Workspace.CurrentCamera)wait(1);// To wait for screen to flip to appropriate orientationconst[guiInsetTopLeft,guiInsetBottomRight]=GuiService.GetGuiInset();constrealTopLeft=guiInsetTopLeft;constrealBottomRight=Workspace.CurrentCamera.ViewportSize.sub(guiInsetBottomRight);constguiWindow=realBottomRight.sub(realTopLeft);constjoysticksManager=JoysticksManager.create()constleftJoystick=joysticksManager.createJoystick({activationRegion:newRectangleGuiWindowRegion(newVector2(0,0),newVector2(guiWindow.X/2,guiWindow.Y)),gutterRadiusInPixels:50,inactiveCenterPoint:newVector2(80,guiWindow.Y-80),initializedEnabled:true,initializedVisible:true,priorityLevel:1,relativeThumbRadius:0.6,renderer:newCompositeJoystickRenderer(newSolidFilledCircle(Color3.fromRGB(0,170,255),0.8),newSolidFilledCircle(Color3.fromRGB(0,170,255),0)),});leftJoystick.inputChanged.Connect(newInput=>{print("left input",newInput);});constrightJoystick=joysticksManager.createJoystick({activationRegion:newRectangleGuiWindowRegion(newVector2(guiWindow.X/2,0),newVector2(guiWindow.X,guiWindow.Y)),gutterRadiusInPixels:50,inactiveCenterPoint:newVector2(guiWindow.X-80,guiWindow.Y-80),initializedEnabled:true,initializedVisible:true,priorityLevel:1,relativeThumbRadius:0.6,renderer:newCompositeJoystickRenderer(newSolidFilledCircle(Color3.fromRGB(255,85,0),0.8),newSolidFilledCircle(Color3.fromRGB(255,85,0),0)),});rightJoystick.inputChanged.Connect(newInput=>{print("right input",newInput);});
About
This project is an open-source tool for composing multiple, customized touch screen joysticks with the objective of improving the tooling available to Roblox developers for mobile games.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors4
Uh oh!
There was an error while loading.Please reload this page.