- [ONGOING] Treballant en la clase "level"
This commit is contained in:
@@ -1,36 +1,90 @@
|
||||
level = {
|
||||
background = nil,
|
||||
foreground = nil,
|
||||
surf_background = nil,
|
||||
surf_foreground = nil,
|
||||
surf_items = nil,
|
||||
surf_original_items = nil,
|
||||
|
||||
pos = {x=0, y=0},
|
||||
|
||||
init = function()
|
||||
level.background = surf.new(20*8,17*8)
|
||||
level.foreground = surf.new(20*8,17*8)
|
||||
map.surf(level.background)
|
||||
for y=0,17*8 do
|
||||
level.pos.x, level.pos.y = 0,0
|
||||
if level.surf_background ~= nil then surf.free(level.surf_background) end
|
||||
--level.surf_background = surf.load("rooms_background.bin")
|
||||
level.surf_background = surf.new(20*8,12*8)
|
||||
|
||||
if level.surf_foreground ~= nil then surf.free(level.surf_foreground) end
|
||||
--level.surf_foreground = surf.load("rooms_foreground.bin")
|
||||
level.surf_foreground = surf.new(20*8,12*8)
|
||||
|
||||
if level.surf_items ~= nil then surf.free(level.surf_items) end
|
||||
--level.surf_items = surf.load("rooms_items.bin")
|
||||
level.surf_items = surf.new(20*8,12*8)
|
||||
|
||||
level.surf_original_items = surf.new(20*8,12*8)
|
||||
surf.source(level.surf_items)
|
||||
surf.target(level.surf_original_items)
|
||||
draw.surf(0,0,160,96,0,0)
|
||||
|
||||
map.surf(level.surf_background)
|
||||
for y=0,12*8 do
|
||||
for x=0,20*8 do
|
||||
map.tile(x,y,1)
|
||||
end
|
||||
end
|
||||
map.surf(level.foreground)
|
||||
map.surf(level.surf_foreground)
|
||||
map.tile(10,10,16)
|
||||
|
||||
surf.save(level.surf_background, "data/rooms_background.bin")
|
||||
surf.save(level.surf_foreground, "data/rooms_foreground.bin")
|
||||
surf.save(level.surf_items, "data/rooms_items.bin")
|
||||
|
||||
shader.init("lynx.glsl")
|
||||
shader.enable();
|
||||
end,
|
||||
|
||||
draw_background = function()
|
||||
view.clip(0,8,160,136)
|
||||
view.origin(0,8)
|
||||
map.surf(level.background)
|
||||
|
||||
draw = function()
|
||||
-- Retallem la pantalla a la zona de joc
|
||||
view.clip(0,8,160,96)
|
||||
|
||||
-- Movem la càmara a l'habitació on estem
|
||||
view.origin(level.pos.x*8,level.pos.y*8+8)
|
||||
|
||||
-- Pintem el background
|
||||
surf.source(tiles)
|
||||
map.surf(level.surf_background)
|
||||
map.draw()
|
||||
view.origin(4,8+4)
|
||||
map.surf(level.foreground)
|
||||
|
||||
-- Movem 4x4 pixels la càmara per a pintar les sombres dels sprites i el foreground
|
||||
view.origin(level.pos.x*8+4,level.pos.y*8+12)
|
||||
|
||||
-- Pintem el foreground de negre
|
||||
map.surf(level.surf_foreground)
|
||||
pal.subpal(0,32,1)
|
||||
map.draw()
|
||||
end,
|
||||
|
||||
draw_foreground = function()
|
||||
view.origin(0,8)
|
||||
-- Pintem els sprites de negre
|
||||
-- [TODO]
|
||||
surf.source(sprites)
|
||||
draw.surf(0, 0, 16, 17, 10, 10, 16, 17)
|
||||
|
||||
-- Movem la càmara al lloc que toca de nou, i tornem la paleta normal
|
||||
view.origin(level.pos.x*8,level.pos.y*8+8)
|
||||
pal.subpal()
|
||||
map.surf(level.foreground)
|
||||
|
||||
-- Pintem el foreground
|
||||
surf.source(tiles)
|
||||
map.surf(level.surf_foreground)
|
||||
map.draw()
|
||||
|
||||
-- Pintem els sprites
|
||||
-- [TODO]
|
||||
surf.source(sprites)
|
||||
draw.surf(0, 0, 16, 17, 10, 10, 16, 17)
|
||||
|
||||
-- Pintem la rejilla
|
||||
--for y=0,12 do draw.line(0,y*8, 160, y*8, 27) end
|
||||
--for x=0,20 do draw.line(x*8, 0, x*8, 104, 27) end
|
||||
end,
|
||||
|
||||
peiv = function()
|
||||
|
||||
Reference in New Issue
Block a user