There is definitely no pre-built library for that and is something that has to be custom-made.
Is the beach scene a 2D image or a 3D scene? If 3D, you have to already know 3D programming. If 2D, you have to already know 2D programming.
Here's one possible way using gamestates:
Game starts up, or player returns to main menu:
PushGameState(GameState_Menu_Front) //Push the proper page of the menu onto the GameState stack.
PushGameState(GameState_OceanSlideInAndOut) //Push the ocean animation onto the stack over the menu.
When the OceanSlideInOut animation finishes, then it pops itself from the stack, leaving GameState_Menu_Front the topmost state.
GameState_Menu_Front has the menu buttons of the front page of the main menu, including buttons like "Options" and "New Game".
When "Options" is seleted, GameState_Menu_Front pushes "GameState_Menu_Options" and then pushes "GameState_OceanSlideInAndOut" again.
When the GameState_OceanSlideInAndOut is finished, it pops itself leaving GameState_Menu_Options at the top.
GameState_Menu_Options has buttons like, "Video settings", "Sound settings", "Player controls", and so on.
When "Sound settings" is pressed, GameState_Menu_Options pushes "GameState_Menu_SoundSettings" and "GameState_OceanSlideInAndOut" ...
GameState_Menu_SoundSettings also has a button called "Back", or "Return to previous", or whatever. When clicked, instead of pushing the previous GameState (which is already on the stack underneath GameState_Menu_SoundSettings), then it just pops itself, leaving the previous GameState at the top of the stack, and pushes GameState_OceanSlideInAndOut again.
Each gamestate might have Update(deltaTime), Draw(), HandleInput(), or similar functions to handle their own functionality.
That's one way you could handle the logic. Which part of the menu are you specifically having trouble with? The logic? The drawing? The buttons functioning?
It's not the programming. It's HOW do i design the ocean? I know the programming for it, but the animations for it? I'm not necessary sure about that.. I don't know what program would best suit me.