what about checking distance between bar and sphere?
distance(bar.X, bar.Y, sphere.X, sphere.Y) < 100 -> change color
@shinkan It will check the distance only of the origin point, right?
@Zerei the impact is near to zero, you can't feel the difference. I'm using it and it's rocking on my game.
You should use square objects instead of complex polygons, because more points on the polygon issue on performance. It's better to check 10 objects with 4 points on their polygons instead of 2 with 20 points.
This is my debugging interface, you can check all the collision masks, I implemented them on a single layout and did this layout check if it's on preview, if yes, it become visible, if not, invisible.