I'm trying to make a camera pan script, and it all works great. The camera moves as the player moves their mouse across the screen. The problem is, when I'm hovering over a GUI object and let go of the mouse button 1, it doesn't register it because it's over a GUI object. So unless I click and unclick again it doesn't disengage from the panning state. And even this still breaks my script sometimes. Does anyone know of a way around this? I can provide my script if that helps:
local function Bind(actionName,inputState,inputObject) if inputState == Enum.UserInputState.Begin then print("Pressed down") if inputObject.UserInputType == Enum.UserInputType.Touch then connection2 = UserInputService.TouchMoved:Connect(MoveCamera()) elseif inputObject.UserInputType == Enum.UserInputType.MouseButton1 then connection2 = Mouse.Move:Connect(function() MoveCamera({X = Mouse.X}) end) end else connection2:Disconnect() print("Unpressed") startPos = nil end end ContextActionService:BindAction("PressedDown",Bind,false,Enum.UserInputType.MouseButton1,Enum.UserInputType.Touch)
This is the relevant part of the script. The script works great, except for when I let go of the mouse button over a gui object. Then it doesn't register the mouse button was released and it breaks my script. Any help would be greatly appreciated, thank you for reading!