AutoButtonColor (ImageButton) doesn't work if BackgroundTransparecy is set to 1

I want ImageButtons with transparent backgrounds.
But when the mouse is over the button, the background color must change.
For that, AutoButtonColor should be the perfect solution:

However, if I set the ImageButton’s BackgroundTransparecy to 1, AutoButtonColor loses its purpose, ie, the background color is not changed in this case:

Any way to change the ImageButton background color (with BackgroundTransparency = 1) when the mouse is over the button?

3 Likes

I think… The only fix that i could think of is to have the background already have the same colour as the UI, because by doing BackGroundTransparanecy, of course it’ll remove the usage of AutoButtonColour, because by looking at the post, ABC only changes the background, not the actual picture itself.

1 Like

No way, the background is already semi-transparent (0.5) and I don’t think how to achieve this…

alternatively, you could make pictures with some interesting background, looking it as the part of the UI

I found a solution to overcome this limitation of AutoButtonColor.

To change the background color of the ImageButton every time the mouse passes over it:

  1. Place the ImageButton inside a Frame
  2. Set the Frame BackgroundColor3 to the color you want to be shown when the mouse is over the frame
  3. Set the Frame BackgroundTransparency to 1

Then use a code like this:

myFrame.MouseEnter:Connect(function() 
	myFrame.BackgroundTransparency = 0.5
end)

myFrame.MouseLeave:Connect(function()
	myFrame.BackgroundTransparency = 1
end)

4 Likes