What would be the best approach for this type of level loading? In Bubble Bobble when you complete a level, the other level slides down and begins play and the old level slides down off-screen and disappears.
Draw room A to a surface and draw that to the screen. Go to room B and draw that to a surface. Slide Surface A down while sliding surface B into view. Unpause action and remove surface draws.
Edit: fyi, surface drawing object should be persistent.
Double Edit: I just watched a quick video on youtube for a refresher of the game. I also noticed the enemies are animated during the scrolling so you would just start them with an offset of the room height/view height and scroll their y along with the surface while keeping their animation in play. Just draw the room surface behind them.
Oh and I said slide the surfaces down but it looks like they go up instead but you catch my drift.
As this game is based on a small, fixed screen, a simple alternative would be for you to build the levels in a single room, so when you change levels, you simply slide the camera to the desired direction. Enemies are spawned by objects, this object that spawns can use the position of the camera as reference.
The player can stay intact without having to destroy anything, he will just move to the next level/room.
I think GMRoomPack by @YellowAfterlife, is you best bet and easiest solution for your needs, but it's not free, costs about 5 bucks (but it worth A LOT more).
Just to get an idea about it, I hand-placed the UI objects in a separate room and I loaded them and placed them in the Main Menu room of my game (by the way real time saver when implementing and positioning UI).
Just in case, contact with the author to make sure the extension is suitable for your needs, before purchasing
(I always write this line when suggesting paying products as a disclaimer)
My personal approach for this (I've actually used it in a project!) is to turn all terrain objects into new "transition terrain" which are persistent, and destroy themselves once offscreen. (Players become persistent "bubble players" with similar logic, except they move to the set spawn points and then become regular players once they reach it). Move ALL objects up one screen-height, change rooms (deleting everything non-persistent but keeping terrain + players), set the starting camera position one screen-height above the playing field, and then pan the camera down 1 screen-height.