Simplest way I know is to create a sprite that has your splash animation at the point of contact with the water. You throw a rock and it touches the water. at that moment create a sprite at x=Rock(X) Y=Rock(Y) and have it play the splash animation. Then destroy the sprite after the animation.
Or with a balloon hitting the wall, same idea only you could just have your balloon stop at the point of contacting the wall and just play the popping animation and then destroy it after that has run