Use the set display zoom action or set layer zoom actions. You can base the zooming in/out on your character's movement speed using a simple formula, using time conditions or timers to do it incrementally.

I think he's looking for an almost acceleration based zoom; so when the player starts moving the camera zooms out slowly.

You need to get the player's distance from previous position at some time interval (Say 100ms) and base your zoom on that. Create a global variable (or private tied to the character) storing the characters X (if its a platformer) every 100ms then checking against its previous position; that will give you "The distance traveled since the last update" and a number to base your camera zoom on.

[quote="Mitch":to1pad1n]You need to get the player's distance from previous position at some time interval (Say 100ms) and base your zoom on that.[/quote:to1pad1n]...which is equivalent to it's speed, which Rich pointed out:

[quote="Rich":to1pad1n]You can base the zooming in/out on your character's movement speed using a simple formula[/quote:to1pad1n]So you just need to set the X and Y zoom ratios to something like 100 - player[movement].speed / 10. Something like that. Play with the numbers to get it exactly right. No need for anything more complicated.