[NEW] Separats els fitxers de fase en 'normal', boss, maps

[NEW] Canviada la gestió de càrrega i execució de la fase de jefe
[FIX] Musica parada a l'eixir del jefe
This commit is contained in:
2026-05-10 19:09:59 +02:00
parent fbba9a6987
commit 216e669bd3
7 changed files with 1106 additions and 1008 deletions
+29 -38
View File
@@ -41,10 +41,10 @@ local view_tile_id = false
local view_checking_tile = false
local stage= 1
local stage_loaded = 0
stage_update = foo
stage_draw_back = foo
stage_draw_middle = foo
stage_draw_front = foo
stage_update = nil
stage_draw_back = nil
stage_draw_middle = nil
stage_draw_front = nil
viewp = viewport.new(arcade_config.resolucion.width, arcade_config.resolucion.height)
viewp:position(0,0)
@@ -159,20 +159,28 @@ end
function load_boss_stage()
local stage_boss = stages["stage"..stage.."_boss"]
if stage_boss and not scene_running and not stages.loaded_boss then
stage_update = stages["stage"..stage.."_update"]
stage_draw_back = stages["stage"..stage.."_draw_back"]
stage_draw_middle = stages["stage"..stage.."_draw_middle"]
stage_draw_front = stages["stage"..stage.."_draw_front"]
stage_boss_end = stages["stage"..stage.."_boss_end"]
stage_boss()
--local stage_boss = stages["stage"..stage.."_boss"]
-- if stage_boss and not scene_running and not stages.loaded_boss then
stage_update = stages["stage"..stage.."_boss_update"]
stage_draw_back = stages["stage"..stage.."_boss_draw_back"]
stage_draw_middle = stages["stage"..stage.."_boss_draw_middle"]
stage_draw_front = stages["stage"..stage.."_boss_draw_front"]
-- stage_boss_end = stages["stage"..stage.."_boss_end"]
-- stage_boss()
print("Stage "..stage.." Boss loaded")
else
print("No se ha cargado la fase "..stage)
end
-- else
-- print("No se ha cargado la fase "..stage)
-- end
end
function unload_boss_stage()
-- stage_boss_end()
stage_update = nil
stage_draw_back = nil
stage_draw_middle = nil
stage_draw_front = nil
-- stage_boss_end = nil
end
function viewport_update()
-- Moure el viewport
@@ -217,11 +225,7 @@ function world_update()
end
end
if stages.boss_loaded then
stage_update()
else
-- print("NO BOSS")
end
if stage_update then stage_update() end
-- Actualizar el que queda
cacau.update()
@@ -237,7 +241,7 @@ function world_draw()
render_map(sf_mapa, tiles, viewp.x, viewp.y)
tiles_layer2.draw()
if stages.boss_loaded then stage_draw_back() end
if stage_draw_back then stage_draw_back() end
-- pintar warps
for key,warp in pairs(warp.warp_list) do
@@ -255,30 +259,17 @@ function world_draw()
dialeg.draw()
if stages.boss_loaded then stage_draw_middle() end
if stage_draw_middle then stage_draw_middle() end
cacau:draw()
if stages.boss_loaded then stage_draw_front() end
if stage_draw_front then stage_draw_front() end
remote_view_draw()
end
function update_game()
if stage~=stage_loaded then load_stage() end
if stages.boss_ready and not stages.boss_loaded then
load_boss_stage()
end
if stages.boss_ready and stages.boss_finished then
stage_boss_end()
stage_update = nil
stage_draw_back = nil
stage_draw_middle = nil
stage_draw_front = nil
stage_boss_end = nil
end
surf.target(0)
surf.cls(16)
@@ -290,9 +281,9 @@ function update_game()
score.draw()
if DEBUG then
special_keys()
debug_info()
if DEBUG then
end
end