just add all the backgrounds and character skins you want to two different objects
so one will be background and another will be playable character
you can then assign different backgrounds and outfits for character by drawing them and adding them as either differing frames or animations in the drawing editor
then you just create a global number variable for each and assign each "skin" to a number
so for example, pseudocode;
is BackgroundGlobalNumber = 1 , then set background object's animation to "__(whatever you have named it)__" or set background object's frame to __(whichever you desire)__
and repeat this for however many different backgrounds you want
then all you need to do is set the conditions in which these events take place, so my guess would be something like is MenuGlobalBoolean true? then for each arrow key hit (either direction) change BackgroundGlobalNumber to __ number.
then to close the loop (so if you only want 4 different backgrounds that cycle in the menu) just make it so if BackgroundGlobalNumber >4 then set BackgroundGlobalNumber = 1, and if BackgroundGlobalNumber <1 then set BackgroundGlobalNumber = 4. this way if it goes over 4 it always go back to 1 and vise versa.
Then just apply the same logic to creating the different skins for your character sprite