Here some code that shows you how to make a menu screen for your game.
Code below :
Import mojo
Class MyGame Extends App
Global menu:String[] = ["Please Select","New Game","Load","Save","Settings","About"]
Global menuactive:Bool[menu.Length]
Global menuindex:Int = 1
Method OnCreate()
SetUpdateRate(60)
menuactive[menuindex] = True
End Method
Method OnUpdate()
For Local i = 1 Until menu.Length
Local oldmenuindex = menuindex
Local tw = TextWidth(menu[i])
If rectsoverlap(MouseX(),MouseY(),1,1,DeviceWidth/2-tw/2,100+i*22,100,22) = True
menuindex = i
menuactive[oldmenuindex] = False
menuactive[menuindex] = True
End If
Next
If KeyHit(KEY_DOWN)
If menuindex < menu.Length-1
menuactive[menuindex] = False
menuindex+=1
menuactive[menuindex] = True
End If
End If
If KeyHit(KEY_UP)
If menuindex > 1
menuactive[menuindex] = False
menuindex-=1
menuactive[menuindex] = True
End If
End If
End Method
Method OnRender()
Cls 0,0,0
SetColor 255,255,255
DrawText "Menu Example",10,10
DrawText "Use cursor keys up/down to cycle through menu",10,25
DrawText "Move mouse across menu item",10,40
For Local i = 0 Until menu.Length
If menuactive[i] = False Then
SetColor 155,155,155
Else
SetColor 255,255,255
End If
DrawText menu[i],DeviceWidth/2,100+i*22,.5,0
Next
End Method
End Class
Function rectsoverlap:Bool(x1:Int, y1:Int, w1:Int, h1:Int, x2:Int, y2:Int, w2:Int, h2:Int)
If x1 > (x2 + w2) Or (x1 + w1) < x2 Then Return False
If y1 > (y2 + h2) Or (y1 + h1) < y2 Then Return False
Return True
End
Function Main()
New MyGame()
End Function
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.