Vertical springs are easy:
1. Set the Jump Strength to something high
2. Use the Jump action
3. Set the Jump Strength back to normal
Basically that's it. For horizontal or angled springs try manually setting the X component of motion.
Moving platforms are also easy. Just move an object with Platform attribute on it. The Platform Behavior will recognize it and update your player position automatically. Note that there is a bug currently with vertically moving platforms though, sometimes the player will fall through them. David was supposed to have fixed it but it seems to have remained, though it doesn't happen as often as it used to.
For platforms that move in a circle try two Sine behaviors... one vertical and one horizontal. Set one of them to 75% offset.
For platforms that follow a path, try Rojohound's Path Movement plugin.
As for conveyor belts, the only method that I've found that works well is kind of complicated, but here goes:
1. Always ignore all input for your player. Treat your player as an NPC. Instead of the Platform behavior getting it's input directly from the keyboard, you're going to do it with events. This means that you will have to create events like "Control 'Move Left' is down -> Set player.Value('speed') to 200" etc.
2. Make two pv's for your player, one named "speed" and one named "addSpeed," or something. "Speed" is for the base speed of your player, this is what all normal movement will use. "AddSpeed" is any additional speed on top of that.
3. Make some events that go something like so:
+ Player is overlapping Conveyor at offset (0, 2)
-> Player: Set player.Value('addSpeed') to -50
-> Player[Platform]: Set X Component of motion to player.Value('speed') + player.Value('addSpeed')
It might be a bit of a pain to set up initially but once you have it in place then making the rest of the game won't be much different than normal.