while the code you provided is incomplete, you should take a look at
texture backdrop, assuming your version of dbpro is current as the command was once removed and recently returned to use (it's still showing as "obsolete").
that's about the easiest way to use an image for a background since it will automatically resize the image to fit whatever screen/window size (technically it functions very similarly to the
paste sprite command with an implied
scale sprite function. pretty sure my initial tests on
paste sprite vs
texture backdrop showed the same performance "hit", so...). of course, if the "background" also holds your "buttons", you'll need to account for various screen sizes and develop some dynamic "button" code to account for it. ie, if your buttons are at a certain x,y position based on 1 screen resolution, you'll do well to incorporate an x & y scale/ratio to your button checks. using your code and, say, a standard screen resolution of 800x600, something like this pseudocode:
rem initialize
DefaultX = 800
DefaultY = 600
...
scaleX# = screen width()/DefaultX
scaleY# = screen height()/DefaultY
...
rem main loop
do
if Button(20*ScaleX#,55*ScaleY#,"Earth Game")=1 then Gosub Earth
if Button(20*ScaleX#,85*ScaleY#,"1st Alternate Map")=1 then Gosub Alt1
If Button(20*ScaleX#,115*ScaleY#,"2nd Alternate Map")=1 then Gosub Alt2
If Button(20*ScaleX#,145*ScaleY#,"Exit")=1 then End
loop
that won't work verbatim with you what're doing since i dunno what the rest of your button functionality might be doing, but it does give you the idea.
good luck
add: added # signs to the ratio/scale multipliers of the pseudocode.
Virtual Nomad @ California, USA . DBPro V7.5
AMD Phenomâ„¢ X4 9750 Quad-Core @ 2.4 GHz . 8 GB PC2-6400 RAM
ATI Radeon HD 3650 @ 512 MB . Vista Home Premium 64 Bit