If you use 2.61 beta 3 or later then you can do something like this
The complicated arithmetic is just there to stop the zoom slowing down as you get closer (which is what happens if you have i=i+1).
If you want to zoom as if the camera was moving over water to your island, then of course, the horizon will change relative to the island which will take a lot more effort...
function room_a() { // script for room: Player enters screen (after fadein) int i=0; WaitMouseKey(40); while (i<800) { RawDrawImageResized(-i, -((i*5)/8), 1, 320+(i*2), 200+((i*5)/4)); i=((i*100)/99)+1; Wait(1); } WaitMouseKey(500); QuitGame(0); } function room_b() { // script for room: Player enters screen (before fadein) RawDrawImageResized(0, 0, 1, 320, 200); }
The complicated arithmetic is just there to stop the zoom slowing down as you get closer (which is what happens if you have i=i+1).
If you want to zoom as if the camera was moving over water to your island, then of course, the horizon will change relative to the island which will take a lot more effort...