@gogizgaz This isn’t a game, but the idea might be something like what you’re after. I move around to different screens that do different things with just 2 statements in draw. When you go into a web site, tap Done in the upper left of the screen to return back to the program.
displayMode(FULLSCREEN)
function setup()
func=menu -- start screen
buttonTab={} -- buttons table
-- buttons that show on the menu screen
table.insert(buttonTab,button(350,600,100,50,"Screen 1",menu,screen1))
table.insert(buttonTab,button(350,500,100,50,"Screen 2",menu,screen2))
table.insert(buttonTab,button(350,400,100,50,"Screen 3",menu,screen3))
table.insert(buttonTab,button(700,50,100,50,"EXIT",menu,close))
-- buttons that show on screen1
table.insert(buttonTab,button(350,600,150,50,"Google",screen1,url1))
table.insert(buttonTab,button(350,500,150,50,"twolivesleft",screen1,url2))
table.insert(buttonTab,button(350,100,150,50,"Menu",screen1,menu))
-- buttons that show on screen2
table.insert(buttonTab,button(350,600,150,50,"map quest",screen2,url3))
table.insert(buttonTab,button(350,100,150,50,"Menu",screen2,menu))
-- buttons that show on screen3
table.insert(buttonTab,button(350,600,150,50,"amazon",screen3,url4))
table.insert(buttonTab,button(350,100,150,50,"Menu",screen3,menu))
end
function draw()
background(40, 40, 50)
func() -- call the function set by the button
end
function touched(t) -- check if a button was pressed
if t.state==BEGAN then
for a,b in ipairs(buttonTab) do
if b:touched(t) then
break
end
end
end
end
function menu()
background(58, 97, 136, 255)
fontSize(30)
text("Menu Screen",350,700)
drawButtonTab()
end
function screen1()
background(101, 43, 43, 255)
fontSize(30)
text("Screen 1",350,700)
drawButtonTab()
end
function screen2()
background(110, 165, 74, 255)
fontSize(30)
text("Screen 2",350,700)
drawButtonTab()
end
function screen3()
background(150, 144, 44, 255)
fontSize(30)
text("Screen 3",350,700)
drawButtonTab()
end
function url1()
openURL('http://www.google.com',true)
func=screen1 -- return to screen1
end
function url2()
openURL('http://twolivesleft.com',true)
func=screen1 -- return to screen2
end
function url3()
openURL('http://www.mapquest.com',true)
func=screen2 -- return to screen3
end
function url4()
openURL('http://www.amazon.com',true)
func=screen3 -- return to screen4
end
function drawButtonTab() -- draw selected buttons from button table
fontSize(20)
for a,b in ipairs(buttonTab) do
b:draw()
end
end
button=class()
function button:init(x,y,w,h,name,screen,func)
self.x=x -- x position
self.y=y -- y position
self.w=w -- width
self.h=h -- height
self.name=name -- name to put on the button
self.screen=screen -- screen to draw the button on
self.func=func -- function to call when the button is pressed
end
function button:draw()
if func==self.screen then -- draw the button
sprite("Cargo Bot:Dialogue Button",self.x,self.y,120)
fill(255, 0, 0, 255)
text(self.name,self.x,self.y)
end
end
function button:touched(t)
if func==self.screen then -- only check current screen button
if t.x>self.x-self.w/2 and t.x<self.x+self.w/2 and
t.y>self.y-self.h/2 and t.y<self.y+self.h/2 then
func=self.func
return true
end
return false
end
end