Here's one method without memblocks...
Rem Owner Info: Transparent Menu Example
Rem Written By: TDK_Man
Rem Contact: [email protected]
Rem Date: 07/12/2009
Gosub Setup
T=Timer()
Rem *** Main Program Loop
Do
Rem Animate Background
Gosub ScrollBackdrop
Rem Menu Selection
If Upkey() Then Dec CurrentSel: Gosub Menu_Select
If DownKey() Then Inc CurrentSel: Gosub Menu_Select
If ReturnKey()
If CurrentSel = 3 Then End: Rem Menu Option 3 = Exit
Endif
Sync
Loop
End
Rem ****************************************************************************
Rem *** User Program Subroutines ***
Rem ****************************************************************************
Menu_Select:
If CurrentSel = MenuEntries Then CurrentSel = 0
If CurrentSel < 0 Then CurrentSel = MenuEntries-1
Gosub HighlightEntry
Repeat
Gosub ScrollBackdrop
Sync
Until Upkey()=0 And DownKey()=0
Return
HighlightEntry:
Set Current Bitmap 1
Paste Image MenuImage,0,0: Rem Main Menu Image
Paste Image HighlightImage,40,CurrentSel*40+20,1
Get Image TextureImage,0,0,260,200: Rem Usable Menu Image
Texture Object 1,TextureImage
Set Current Bitmap 0
Return
ScrollBackdrop:
Elapsed = Timer()-T
If Elapsed >= 30
Scroll Backdrop X#,0
Inc X#,0.5: If X#=100.0 Then X=0.0
T=Timer()
Endif
Return
Setup:
Rem *** Set Up Display
Set Display Mode 800,600,16
Sync On
Sync Rate 0
CLS
Hide Mouse
Randomize Timer()
MenuEntries = 4
CurrentSel = 0: Rem 4 Menu Entries = 0 To 3 Returned
ScrollImage = 1000
MenuImage = 1001
HighlightImage = 1002
TextureImage = 1003
Create Bitmap 1,800,600
Rem Create 20 different random shaded tiles
For N=1 To 20
CLS RGB(255,255,255)
Ink RGB(0,0,0),0: Box 1,1,31,31
C=Rnd(155)+100
Ink RGB(0,C,C),0: Box 1,1,30,30
Get Image N,0,0,32,32: Rem Store tiles in images 1 to 20
Next N
CLS
For Nx=0 To 7
For Ny=0 To 7
R=Rnd(19)+1
Paste Image R,Nx*32,Ny*32
Next Nx
Next Ny
Get Image ScrollImage,0,0,8*32,8*32
Rem Create Menu
Ink RGB(255,255,255),0: Box 0,0,260,200
Ink 0,0: Box 2,2,258,198
Set Text Font "Comic Sans MS",1
Set Text Size 36
Ink RGB(255,255,255),0
Center Text 130,20,"Play Game"
Center Text 130,60,"Options"
Center Text 130,100,"Help"
Center Text 130,140,"Exit"
Ink RGB(255,0,0),0
Center Text 131,21,"Play Game"
Center Text 131,61,"Options"
Center Text 131,101,"Help"
Center Text 131,141,"Exit"
Blur Bitmap 1,2
Get Image MenuImage,0,0,260,200
Rem Create Menu Highlighter
Ink RGB(255,255,255),0: Box 0,0,181,44
Ink RGB(10,10,10),0: Box 1,1,181,44
Ink RGB(100,100,120),0: Box 1,1,180,43
Ink 0,0: Box 26,4,154,38
Get Image HighlightImage,0,0,182,45: Rem Highlighter Image
Set Current Bitmap 0
Backdrop On
Texture Backdrop ScrollImage
Make Object Plain 1,2.6,2.0
Position Object 1,0.0,0.0,3.0
Gosub HighlightEntry
Texture Object 1,TextureImage
Set Object 1,1,0,1
Make Object Plain 2,2.6,2.0
Color Object 2,RGB(112,112,112)
Ghost Object On 2,1
Position Object 2,0.0,0.0,3.01
Position Camera 0.0,0.0,0.0
Point Camera 0.0,0.0,3.0
Return
Rem ****************************************************************************
Rem *** User Program Functions ***
Rem ****************************************************************************
Rem <<<<< Code Skeleton Generated By TDPS (c) TDK_Man 2009 >>>>>
TDK