BounceyButtons. Bounce Effect Module for your Roblox Buttons

BounceyButtons is a lightweight and customizable module for animating UI button interactions in Roblox. Designed for simplicity and versatility, it adds smooth scaling animations to your buttons, enhancing the user experience across all platforms.

Turns your code from this:

local TweenService = game:GetService("TweenService")
local debounce = false

button2.MouseEnter:Connect(function()
  if not debounce then
    TweenService:Create(button2.UIScale,TweenInfo.new(0.2),{Scale = 1.05}):Play()
  end
end)
button2.MouseLeave:Connect(function()
  if not debounce then
    TweenService:Create(button2.UIScale,TweenInfo.new(0.2),{Scale = 1}):Play()
  end
end)
button2.MouseButton1Click:Connect(function()
  if not debounce then
    debounce = true
    TweenService:Create(button2.UIScale,TweenInfo.new(0.1),{Scale = 0.8}):Play()
    task.spawn(function()
      task.wait(0.1)
      TweenService:Create(button2.UIScale,TweenInfo.new(0.2,Enum.EasingStyle.Back),{Scale = 1}):Play()
    end)
    print("Simple Button Clicked")
    task.wait(0.5)
    debounce = false
  end
end)

To this:

local RS = game:GetService("ReplicatedStorage")
local bouncifyModule = require(RS:WaitForChild("BounceyButtons"))

bouncifyModule.bouncifyBtn(button2,function()
  if not db then
    db = true
    print("Simple Button Clicked!")
    task.wait(0.5)
    db = false
  end
end)

While providing results like this with a bunch more customization options!:

You can read the full documentation and download the lastest version here.

This is my first ever public release module! :tada: If you have any suggestions to make it better or improvements you’d like to see, please feel free to let me know. I’m also open to pull requests, so don’t hesitate to contribute! :blush:
Test.rbxl (70.1 KB)

12 Likes