i think the approach is wrong here.

as the codes are constantly testing ball1 size against ball2 size so even when there is no collision, the condition is constantly achieved.

i think i added the sound there so it will not give me the result of a sound when a collision occur but also during balls rubbing each other at the bottom.

should i use another approach like test of momentum transfer?

or maybe  ball1 size against ball2 size && v1 or v2 > 0 ?

it is harder than i thought.