Put all of the sprites into a family.
Spawn an invisible round sprite however you would randomly.
Give the invisible sprite fade behavior with it set destroy when fade is finished.
Choose the fade out time in properties.
Then create dual condition:
Invisible sprite on created >
Is overlapping > Family > Spawn > Whatever sprite
Else > Spawn an invisible sprite however you would randomly again
(x) being inverted
If the Invisible sprite is not overlapping of the existing family sprite, then you new sprite gets spawned, if not, nothing gets spawned and it tries again. Remember to set the invisible circle sprites collision in the circle shape.
You could create a function to create the Invisible sprite. It's the invisible sprite that's used to create the real sprite that you want to spawn and then it is destroyed, never being seen.
Hope this helps