- Primer 'redo' de part del codi
- Afegida la pantalla de titol
This commit is contained in:
276
data/menu.lua
Normal file
276
data/menu.lua
Normal file
@@ -0,0 +1,276 @@
|
||||
function menu_init()
|
||||
print("MENU INIT")
|
||||
menu_sel=0
|
||||
menu_state=update_main_menu;
|
||||
abad.update = abad_nop
|
||||
game_update=update_menu
|
||||
menu_count=0
|
||||
menu_change_room=300
|
||||
menu_room=math.random(0,59)
|
||||
music.play(audio_main_song)
|
||||
end
|
||||
|
||||
function menu_update()
|
||||
--game_update=update_game
|
||||
music.stop()
|
||||
end
|
||||
|
||||
function draw_hab(hab,x,y)
|
||||
|
||||
end
|
||||
|
||||
function mapa_update(hab1, hab2)
|
||||
|
||||
end
|
||||
|
||||
function redraw_menu_hab()
|
||||
-- draw_hab(menu_room,16,41)
|
||||
-- draw.rectf(0,0,15*o2aX,97*o2aX,16)
|
||||
-- draw.rectf(114*o2aX,0,78*o2aX,97*o2aX,16)
|
||||
-- draw.rect(15*o2aX,40*o2aX,99*o2aX,50*o2aX,2)
|
||||
-- mapa_update(abad.hab,menu_room)
|
||||
|
||||
-- for key,actor in pairs(actors) do
|
||||
-- actor:update()
|
||||
-- end
|
||||
-- imp.update()
|
||||
-- bambolla.update()
|
||||
-- cacau.update()
|
||||
-- fireball.update()
|
||||
-- switches.update()
|
||||
end
|
||||
|
||||
function update_menu()
|
||||
menu_change_room=menu_change_room-1
|
||||
if menu_change_room==0 then
|
||||
menu_room = math.random(0,59)
|
||||
menu_change_room=300
|
||||
end
|
||||
|
||||
surf.cls(16)
|
||||
draw_title(14*o2aX, 0)
|
||||
menu_state()
|
||||
end
|
||||
|
||||
function update_options_menu()
|
||||
menu_count=menu_count+1
|
||||
local parpadeig=false
|
||||
if menu_count>=20 then
|
||||
parpadeig=true
|
||||
if menu_count>40 then menu_count=0 end
|
||||
end
|
||||
draw.rect(28*o2aX,(28+(10*menu_sel))*o2aX,73*o2aX,9*o2aX,14)
|
||||
if (not parpadeig) then draw.rect(28*o2aX,(28+(10*menu_sel))*o2aX,73*o2aX,9*o2aX,13) end
|
||||
|
||||
arc_text("MÚSICA", 30*o2aX, 30*o2aX, 14); arc_text(music.enabled() and "SI" or "NO",91*o2aX,30*o2aX,15)
|
||||
arc_text("SÓ", 30*o2aX, 40*o2aX, 14); arc_text(sound.enabled() and "SI" or "NO",91*o2aX,40*o2aX,15)
|
||||
arc_text("REDEFINIR TECLAT", 30*o2aX, 50*o2aX, 14)
|
||||
arc_text("REDEFINIR GAMEPAD", 30*o2aX, 60*o2aX, 14)
|
||||
arc_text("TORNAR", 30*o2aX, 70*o2aX, 14)
|
||||
|
||||
if key.press(keyShoot) or key.press(key.SPACE) or pad.press(pad.A) or pad.press(btnShoot) then
|
||||
if menu_sel==0 then
|
||||
music.enabled(not music.enabled())
|
||||
if music.enabled() then music.play(audio_main_song) end
|
||||
elseif menu_sel==1 then
|
||||
sound.enabled(not sound.enabled())
|
||||
elseif menu_sel==2 then
|
||||
menu_count=0
|
||||
menu_state=update_redefine_keys_menu
|
||||
elseif menu_sel==3 then
|
||||
menu_count=0
|
||||
menu_state=update_redefine_pad_menu
|
||||
else
|
||||
menu_count=0
|
||||
menu_sel=0
|
||||
menu_state=update_main_menu
|
||||
end
|
||||
elseif key.press(keyDown) or key.press(key.DOWN) or pad.press(pad.DOWN) or pad.press(btnDown) then
|
||||
menu_sel=menu_sel+1
|
||||
if menu_sel==5 then menu_sel=0 end
|
||||
elseif key.press(keyUp) or key.press(key.UP) or pad.press(pad.UP) or pad.press(btnUp) then
|
||||
menu_sel=menu_sel-1
|
||||
if menu_sel==-1 then menu_sel=4 end
|
||||
elseif key.press(key.ESCAPE) or pad.press(btnPause) then
|
||||
menu_count=0
|
||||
menu_sel=0
|
||||
menu_state=update_main_menu
|
||||
end
|
||||
end
|
||||
|
||||
function update_main_menu()
|
||||
menu_count=menu_count+1
|
||||
local parpadeig=false
|
||||
if menu_count>=20 then
|
||||
parpadeig=true
|
||||
if menu_count>40 then menu_count=0 end
|
||||
end
|
||||
draw.rect(28*o2aX,(18+(10*menu_sel))*o2aX,73*o2aX,9*o2aX,14)
|
||||
if (not parpadeig) then draw.rect(28*o2aX,(18+(10*menu_sel))*o2aX,73*o2aX,9*o2aX,13) end
|
||||
arc_text("JUGAR", 54*o2aX, 20*o2aX, 14)
|
||||
arc_text("OPCIONS", 50*o2aX, 30*o2aX, 14)
|
||||
--if (not parpadeig or menu_sel~=2) then text("REDEFINIR GAMEPAD", 30, 32, 13) end
|
||||
|
||||
redraw_menu_hab()
|
||||
|
||||
if key.press(keyShoot) or key.press(key.SPACE) or pad.press(pad.A) or pad.press(btnShoot) then
|
||||
if menu_sel==0 then
|
||||
game_exit()
|
||||
game_init()
|
||||
fade.fadeoutin()
|
||||
elseif menu_sel==1 then
|
||||
menu_count=0
|
||||
menu_sel=0
|
||||
menu_state=update_options_menu--update_redefine_keys_menu;
|
||||
else
|
||||
menu_count=0
|
||||
menu_state=update_redefine_pad_menu
|
||||
end
|
||||
elseif key.press(keyDown) or key.press(key.DOWN) or pad.press(pad.DOWN) or pad.press(btnDown) then
|
||||
menu_sel=menu_sel+1
|
||||
if menu_sel==2 then menu_sel=0 end
|
||||
elseif key.press(keyUp) or key.press(key.UP) or pad.press(pad.UP) or pad.press(btnUp) then
|
||||
menu_sel=menu_sel-1
|
||||
if menu_sel==-1 then menu_sel=1 end
|
||||
elseif key.press(key.ESCAPE) or pad.press(btnPause) then
|
||||
sys.quit()
|
||||
end
|
||||
end
|
||||
|
||||
function update_redefine_keys_menu()
|
||||
if key.press(key.ESCAPE) then
|
||||
menu_count = 0
|
||||
menu_state = update_options_menu;
|
||||
end
|
||||
if menu_count==0 then
|
||||
arc_textB("PULSA TECLA PER A AMUNT", 20*o2aX, 24*o2aX, 13)
|
||||
local k = key.press();
|
||||
if k ~= 0 and k~=key.ESCAPE then
|
||||
menu_count = 1
|
||||
keyUp=k
|
||||
config.key("keyup", keyUp)
|
||||
end
|
||||
elseif menu_count==1 then
|
||||
arc_textB("PULSA TECLA PER A AVALL", 20*o2aX, 24*o2aX, 13)
|
||||
local k = key.press();
|
||||
if k ~= 0 and k~=key.ESCAPE then
|
||||
menu_count = 2
|
||||
keyDown=k
|
||||
config.key("keydown", keyDown)
|
||||
end
|
||||
elseif menu_count==2 then
|
||||
arc_textB("PULSA TECLA PER A ESQUERRA", 14*o2aX, 24*o2aX, 13)
|
||||
local k = key.press();
|
||||
if k ~= 0 and k~=key.ESCAPE then
|
||||
menu_count = 3
|
||||
keyLeft=k
|
||||
config.key("keleft", keyLeft)
|
||||
end
|
||||
elseif menu_count==3 then
|
||||
arc_textB("PULSA TECLA PER A DRETA", 20*o2aX, 24*o2aX, 13)
|
||||
local k = key.press();
|
||||
if k ~= 0 and k~=key.ESCAPE then
|
||||
menu_count = 4
|
||||
keyRight=k
|
||||
config.key("keyright", keyRight)
|
||||
end
|
||||
elseif menu_count==4 then
|
||||
arc_textB("PULSA TECLA PER A BOTAR", 20*o2aX, 24*o2aX, 13)
|
||||
local k = key.press();
|
||||
if k ~= 0 and k~=key.ESCAPE then
|
||||
menu_count = 5
|
||||
keyJump=k
|
||||
config.key("keyjump", keyJump)
|
||||
end
|
||||
elseif menu_count==5 then
|
||||
arc_textB("PULSA TECLA PER A DISPAR", 18*o2aX, 24*o2aX, 13)
|
||||
local k = key.press();
|
||||
if k ~= 0 and k~=key.ESCAPE then
|
||||
menu_count = 0
|
||||
menu_state = update_options_menu;
|
||||
keyShoot=k
|
||||
config.key("keyshoot", keyShoot)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function update_redefine_pad_menu()
|
||||
if key.press(key.ESCAPE) then
|
||||
menu_count = 0
|
||||
menu_state = update_options_menu;
|
||||
end
|
||||
if menu_count==0 then
|
||||
arc_textB("PULSA BOTÓ PER A AMUNT", 22*o2aX, 24*o2aX, 13)
|
||||
local btn = pad.press();
|
||||
if btn ~= -1 then
|
||||
menu_count = 1
|
||||
btnUp=btn
|
||||
config.key("btnup", btnUp)
|
||||
end
|
||||
elseif menu_count==1 then
|
||||
arc_textB("PULSA BOTÓ PER A AVALL", 22*o2aX, 24*o2aX, 13)
|
||||
local btn = pad.press();
|
||||
if btn ~= -1 then
|
||||
menu_count = 2
|
||||
btnDown=btn
|
||||
config.key("btndown", btnDown)
|
||||
end
|
||||
elseif menu_count==2 then
|
||||
arc_textB("PULSA BOTÓ PER A ESQUERRA", 16*o2aX, 24*o2aX, 13)
|
||||
local btn = pad.press();
|
||||
if btn ~= -1 then
|
||||
menu_count = 3
|
||||
btnLeft=btn
|
||||
config.key("keleft", btnLeft)
|
||||
end
|
||||
elseif menu_count==3 then
|
||||
arc_textB("PULSA BOTÓ PER A DRETA", 22*o2aX, 24*o2aX, 13)
|
||||
local btn = pad.press();
|
||||
if btn ~= -1 then
|
||||
menu_count = 4
|
||||
btnRight=btn
|
||||
config.key("btnright", btnRight)
|
||||
end
|
||||
elseif menu_count==4 then
|
||||
arc_textB("PULSA BOTÓ PER A BOTAR", 22*o2aX, 24*o2aX, 13)
|
||||
local btn = pad.press();
|
||||
if btn ~= -1 then
|
||||
menu_count = 5
|
||||
btnJump=btn
|
||||
config.key("btnjump", btnJump)
|
||||
end
|
||||
elseif menu_count==5 then
|
||||
arc_textB("PULSA BOTÓ PER A DISPAR", 20*o2aX, 24*o2aX, 13)
|
||||
local btn = pad.press();
|
||||
if btn ~= -1 then
|
||||
menu_count = 6
|
||||
btnShoot=btn
|
||||
config.key("btnshoot", btnShoot)
|
||||
end
|
||||
elseif menu_count==6 then
|
||||
arc_textB("PULSA BOTÓ PER A GPS ARRERE", 14*o2aX, 24*o2aX, 13)
|
||||
local btn = pad.press();
|
||||
if btn ~= -1 then
|
||||
menu_count = 7
|
||||
btnCycle1=btn
|
||||
config.key("btncycle1", btnCycle1)
|
||||
end
|
||||
elseif menu_count==7 then
|
||||
arc_textB("PULSA BOTÓ PER A GPS AVANT", 14*o2aX, 24*o2aX, 13)
|
||||
local btn = pad.press();
|
||||
if btn ~= -1 then
|
||||
menu_count = 8
|
||||
btnCycle2=btn
|
||||
config.key("btncycle2", btnCycle2)
|
||||
end
|
||||
elseif menu_count==8 then
|
||||
arc_textB("PULSA BOTÓ PER A PAUSA", 22*o2aX, 24*o2aX, 13)
|
||||
local btn = pad.press();
|
||||
if btn ~= -1 then
|
||||
menu_count = 0
|
||||
menu_state = update_options_menu;
|
||||
btnPause=btn
|
||||
config.key("btnpause", btnPause)
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user