I wrote a tutorial a while ago that covers this: https://www.scirra.com/tutorials/443/bu ... our/page-3
But it doesn't solve your ideal requirement: curved paths. this has been asked for a million times but I'm in support of it so I'll rally behind your request (for what it's worth, which is practically nothing). There are some plugins that do this, more-or-less, but there's nothing quite ideal that I've seen, and unfortunately I lack the maths skills to help you with figuring out a custom solution.
But, hey, my method will at least set you on the right track.