87 lines
2.5 KiB
Lua
87 lines
2.5 KiB
Lua
balloon={
|
|
text=nil,
|
|
pos=1,
|
|
cursor={x=0,y=0},
|
|
old_update=nil,
|
|
|
|
show=function(txt,actorname,below)
|
|
local actor = actors.search(actorname)
|
|
if not actor then return end
|
|
|
|
balloon.text=txt
|
|
balloon.pos=1
|
|
|
|
balloon.old_update=update
|
|
update=balloon.update
|
|
|
|
local pos,height=actor.x*8+4,actor.y*8-4
|
|
|
|
if below==nil or below==false then
|
|
height=height-51
|
|
rectfill(9,height+1,153,height+36,5)
|
|
rectfill(8,height,152,height+35,8)
|
|
rect(8,height,152,height+35,6)
|
|
|
|
if pos<80 then
|
|
for i=0,4 do rect(pos,height+35+(4-i),pos+i,height+35+(4-i),8) end
|
|
line(pos-1,height+36,pos-1,height+41,6)
|
|
line(pos+4,height+36,pos-1,height+41,6)
|
|
else
|
|
pos=pos-5
|
|
for i=0,4 do rect(pos+i,height+35+i,pos+4,height+35+i,8) end
|
|
line(pos+5,height+36,pos+5,height+41,6)
|
|
line(pos,height+36,pos+5,height+41,6)
|
|
end
|
|
height=height+7
|
|
else
|
|
height=height+16
|
|
rectfill(9,height+1,153,height+35,5)
|
|
rectfill(8,height,152,height+36,8)
|
|
rect(8,height,152,height+36,6)
|
|
|
|
if pos<80 then
|
|
for i=0,4 do rect(pos,height-(4-i),pos+i,height-(4-i),8) end
|
|
line(pos-1,height,pos-1,height-6,6)
|
|
line(pos+5,height,pos-1,height-6,6)
|
|
else
|
|
pos=pos-5
|
|
for i=0,4 do rect(pos+i,height-i,pos+4,height-i,8) end
|
|
line(pos+5,height,pos+5,height-6,6)
|
|
line(pos-1,height,pos+5,height-6,6)
|
|
end
|
|
|
|
height=height+7
|
|
end
|
|
|
|
balloon.cursor={x=16,y=height}
|
|
--text("12345678901234567890123456789012\n3",16,height, 2)
|
|
--text("UNO DOS TRES",16,height+9, 2)
|
|
--text("UNO DOS TRES",16,height+18, 2)
|
|
end,
|
|
|
|
draw=function()
|
|
if ballon.text then
|
|
|
|
end
|
|
end,
|
|
|
|
update=function()
|
|
if not beat() then return end
|
|
|
|
local char=string.sub(balloon.text,balloon.pos,balloon.pos)
|
|
if char=='' then
|
|
-- final
|
|
update=balloon.old_update
|
|
elseif char=='\n' then
|
|
-- salt de linea
|
|
balloon.pos=balloon.pos+1
|
|
balloon.cursor.x=16
|
|
balloon.cursor.y=balloon.cursor.y+9
|
|
else
|
|
text(char,balloon.cursor.x,balloon.cursor.y,2)
|
|
balloon.pos=balloon.pos+1
|
|
balloon.cursor.x=balloon.cursor.x+4
|
|
end
|
|
end
|
|
}
|