Advertisement
dkg_yt

epic Dragger (wally)

Oct 5th, 2019
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. local dragger = {}
  2. local resizer = {}
  3. local mouse = game:GetService("Players").LocalPlayer:GetMouse();
  4. local inputService = game:GetService('UserInputService');
  5. local heartbeat = game:GetService("RunService").Heartbeat;
  6. -- // credits to Ririchi / Inori for this cute drag function :)
  7. function dragger.new(frame)
  8. local s, event = pcall(function()
  9. return frame.MouseEnter
  10. end)
  11.  
  12. if s then
  13. frame.Active = true;
  14.  
  15. event:connect(function()
  16. local input = frame.InputBegan:connect(function(key)
  17. if key.UserInputType == Enum.UserInputType.MouseButton1 then
  18. local objectPosition = Vector2.new(mouse.X - frame.AbsolutePosition.X, mouse.Y - frame.AbsolutePosition.Y);
  19. while heartbeat:wait() and inputService:IsMouseButtonPressed(Enum.UserInputType.MouseButton1) do
  20. frame:TweenPosition(UDim2.new(0, mouse.X - objectPosition.X + (frame.Size.X.Offset * frame.AnchorPoint.X), 0, mouse.Y - objectPosition.Y + (frame.Size.Y.Offset * frame.AnchorPoint.Y)), 'Out', 'Quad', 0.1, true);
  21. end
  22. end
  23. end)
  24.  
  25. local leave;
  26. leave = frame.MouseLeave:connect(function()
  27. input:disconnect();
  28. leave:disconnect();
  29. end)
  30. end)
  31. end
  32. end
  33.  
  34. function resizer.new(p, s)
  35. p:GetPropertyChangedSignal('AbsoluteSize'):connect(function()
  36. s.Size = UDim2.new(s.Size.X.Scale, s.Size.X.Offset, s.Size.Y.Scale, p.AbsoluteSize.Y);
  37. end)
  38. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement