You consider the ball has collided if the y-position is below 0 right?
Now, what will happen if the ball is still below 0 in the next frame?
When you detect the collision, try positioning the ball at 0 or a little bit above, like 0.001 or something, and see if that helps.
[Edit] To "visualize" the problem, add a CollisionCount variable that you increase by one at every collision and print it on screen.
Now, what will happen if the ball is still below 0 in the next frame?
When you detect the collision, try positioning the ball at 0 or a little bit above, like 0.001 or something, and see if that helps.
[Edit] To "visualize" the problem, add a CollisionCount variable that you increase by one at every collision and print it on screen.