- Reestructuració
This commit is contained in:
158
data/final.lua
Normal file
158
data/final.lua
Normal file
@@ -0,0 +1,158 @@
|
||||
final_rooms = {2,6,60,21,49,23,66,32,4,46,39,55,74}
|
||||
|
||||
function final_init()
|
||||
actors={}
|
||||
cameras={}
|
||||
current_actor=1
|
||||
|
||||
abad.update = abad_nop
|
||||
_update=update_final
|
||||
next_actor()
|
||||
playmus(audio_final)
|
||||
local r,g,b=getcolor(15)
|
||||
setcolor(17,r,g,b)
|
||||
--fade.fadein()
|
||||
end
|
||||
|
||||
go_next_actor=false
|
||||
|
||||
function update_final()
|
||||
cls(16)
|
||||
|
||||
camera(-16,-41)
|
||||
mapa_draw(final_room)
|
||||
draw_actor()
|
||||
camera(0,0)
|
||||
|
||||
rectfill(0,0,14,96,16)
|
||||
rectfill(114,0,191,96,16)
|
||||
rect(15,40,113,89,2)
|
||||
|
||||
text("C A C A U S", 42, 12, 17)
|
||||
text(actor.name, 64-(#actor.name*2), 28, 11)
|
||||
|
||||
mapa_update(abad.hab,final_room)
|
||||
|
||||
if btnp(KEY_M) then
|
||||
mute = not mute
|
||||
if mute then
|
||||
stopmusic()
|
||||
else
|
||||
playmus(audio_final)
|
||||
end
|
||||
end
|
||||
|
||||
if go_next_actor then next_actor() end
|
||||
end
|
||||
|
||||
function init_actor(name,flipped,w,h,anim)
|
||||
actor={name=name,flip=flipped,w=w,h=h,anim=anim,frame=0,wait=0,step=0}
|
||||
actor.y=40-h
|
||||
actor.center_count=20
|
||||
actor.frame=actor.anim[1]
|
||||
if #anim==1 then
|
||||
actor.x=48-w/2
|
||||
actor.center_count=40
|
||||
elseif flipped then
|
||||
actor.x=96
|
||||
else
|
||||
actor.x=-actor.w
|
||||
end
|
||||
end
|
||||
|
||||
function draw_actor()
|
||||
actor.wait=actor.wait+1
|
||||
|
||||
if actor.wait==6 or (actor.wait==3 and current_actor==7) then
|
||||
actor.wait=0
|
||||
if actor.x == 48-actor.w/2 and actor.center_count>0 then
|
||||
actor.center_count=actor.center_count-1
|
||||
actor.frame=actor.anim[1]
|
||||
else
|
||||
actor.step=actor.step+1
|
||||
if actor.step >= #actor.anim then actor.step=0 end
|
||||
actor.frame=actor.anim[actor.step+1]
|
||||
|
||||
if #actor.anim>1 then
|
||||
if actor.flip then
|
||||
actor.x=actor.x-2
|
||||
else
|
||||
actor.x=actor.x+2
|
||||
end
|
||||
end
|
||||
if current_actor==7 then
|
||||
actor.y=28-abs(sin(actor.x*0.1))*24
|
||||
end
|
||||
|
||||
if actor.x>96 or actor.x<-actor.w or (#actor.anim==1 and actor.center_count==0) then
|
||||
go_next_actor=true
|
||||
fade.fadeoutin()
|
||||
return true
|
||||
end
|
||||
end
|
||||
end
|
||||
local tpl=128/actor.w
|
||||
sspr((actor.frame%tpl)*actor.w,flr(actor.frame/tpl)*actor.h,actor.w,actor.h,actor.x,actor.y,actor.w,actor.h,actor.flip)
|
||||
end
|
||||
|
||||
function next_actor()
|
||||
go_next_actor=false
|
||||
faded = true
|
||||
if current_actor==1 then
|
||||
init_actor("ZOMBIE",false,16,16,{16,17,16,18})
|
||||
elseif current_actor==2 then
|
||||
init_actor("CACODEMON",true,16,16,{19,19,19,19,19,19,19,19,19,19,19,19,20,21})
|
||||
actor.y=16
|
||||
elseif current_actor==3 then
|
||||
init_actor("GPS",false,16,16,{31})
|
||||
actor.y=16
|
||||
elseif current_actor==4 then
|
||||
init_actor("IMP",false,16,16,{28,29,28,30})
|
||||
elseif current_actor==5 then
|
||||
init_actor("GORRO DE PREMIERE",false,16,16,{22})
|
||||
elseif current_actor==6 then
|
||||
init_actor("BAMBOLLA DE CAFÉ",true,16,16,{15,15})
|
||||
elseif current_actor==7 then
|
||||
init_actor("PEU DE PACO",false,16,16,{23})
|
||||
elseif current_actor==8 then
|
||||
init_actor("PREMIERE",false,16,16,{12,13,12,14})
|
||||
elseif current_actor==9 then
|
||||
init_actor("CLAU",false,16,8,{15})
|
||||
elseif current_actor==10 then
|
||||
init_actor("EL_ALIEN",true,16,16,{8,9,8,10})
|
||||
elseif current_actor==11 then
|
||||
init_actor("BOL DE CACAUS",false,16,8,{95})
|
||||
elseif current_actor==12 then
|
||||
init_actor("BATMAN",false,16,16,{24,25,24,26})
|
||||
elseif current_actor==13 then
|
||||
init_actor("EL ABAD",true,16,16,{0,1,0,2})
|
||||
elseif current_actor==14 then
|
||||
final_count=0
|
||||
_update=update_final2
|
||||
fade.fadeoutin()
|
||||
end
|
||||
final_room=final_rooms[current_actor]
|
||||
current_actor=current_actor+1
|
||||
end
|
||||
|
||||
function update_final2()
|
||||
cls(16)
|
||||
|
||||
text("C A C A U S", 42, 12, 17)
|
||||
text("GRACIES PER JUGAR", 30, 48, 10)
|
||||
|
||||
if btnp(KEY_M) then
|
||||
mute = not mute
|
||||
if mute then
|
||||
stopmusic()
|
||||
else
|
||||
playmus(audio_final)
|
||||
end
|
||||
end
|
||||
final_count=final_count+1
|
||||
if final_count==200 or btnp(KEY_SPACE) or btnp(KEY_RETURN) then
|
||||
game_exit()
|
||||
game_init(true)
|
||||
fade.fadeoutin()
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user