78 lines
2.4 KiB
Lua
78 lines
2.4 KiB
Lua
require "fps"
|
|
require "mapa"
|
|
local viewport= require("viewport")
|
|
|
|
local arcade_config = require("arcade_config")
|
|
local tile_w = arcade_config.tiles_width
|
|
local tile_h = arcade_config.tiles_height
|
|
local res_w = arcade_config.resolucion.width
|
|
local res_h = arcade_config.resolucion.height
|
|
|
|
local viewp = viewport.new()
|
|
|
|
function game_init(menu)
|
|
game_update=update_game
|
|
end
|
|
|
|
function render_map( sf_map, sf_tiles, x, y )
|
|
map.surf(sf_map)
|
|
map.cell(16, 16)
|
|
surf.source(sf_tiles)
|
|
surf.target(0)
|
|
view.origin(-x,-y)
|
|
map.draw()
|
|
view.origin(0,0)
|
|
end
|
|
|
|
function update_game()
|
|
surf.target(0)
|
|
surf.cls(16)
|
|
|
|
-- surf.target(logo)
|
|
-- surf.cls(16)
|
|
-- draw.text("UPDATE_GAME",0,0,15)
|
|
-- surf.source(logo)
|
|
-- draw.surf(0,0,36,5,56,70,arcade_config.logo_sf.width,arcade_config.logo_sf.height)
|
|
|
|
--- if abad.hurting == 0 then
|
|
--- draw_hab(abad.hab,0,0)
|
|
--- --text(abad.hab,1,1,2)
|
|
--- draw_hab(cameras[current_camera].hab,0,48)
|
|
--- -- text(camera_names[current_camera],2*o2aX,49*o2aX,8)
|
|
--- arc_textB(camera_names[current_camera],2*o2aX,49*o2aX,8)
|
|
---
|
|
--- score.draw()
|
|
--- surf.source(tiles)
|
|
--- -- draw.text("x"..abad.vides,114*o2aX,13*o2aX,2)
|
|
--- arc_text("x"..abad.vides,114*o2aX,13*o2aX,2)
|
|
--- draw.rectf((102+(abad.energia>>1))*o2aX,30*o2aX,(21-(abad.energia>>1))*o2aX,8*o2aX,16)
|
|
--- else
|
|
--- draw.surf(0,0,16*o2aX,9*o2aX,50*o2aX,40*o2aX,16*o2aX,9*o2aX,true)
|
|
--- if abad.hurting > 40 then
|
|
--- -- draw.text("x"..abad.vides+1,63*o2aX,43*o2aX,3)
|
|
--- arc_text("x"..abad.vides+1,63*o2aX,43*o2aX,3)
|
|
--- elseif abad.hurting < 20 then
|
|
--- -- draw.text("x"..abad.vides,63*o2aX,43*o2aX,2)
|
|
--- arc_text("x"..abad.vides,63*o2aX,43*o2aX,2)
|
|
--- end
|
|
--- end
|
|
---
|
|
--- mapa_update(abad.hab,cameras[current_camera].hab)
|
|
|
|
local vp_x, vp_y = viewp:position()
|
|
if key.down(keyRight) then
|
|
if vp_x+1<=(tile_w*mapa_room_cols*(mapa_rooms_per_piso))-(res_w) then vp_x = vp_x+1 end
|
|
elseif key.down(keyLeft) then
|
|
if vp_x>0 then vp_x = vp_x-1 end
|
|
elseif key.down(keyUp) then
|
|
if vp_y>0 then vp_y = vp_y -1 end
|
|
elseif key.down(keyDown) then
|
|
if vp_y+1<=(tile_h*mapa_room_rows*mapa_pisos)-(res_h) then vp_y = vp_y+1 end
|
|
end
|
|
viewp:position(vp_x, vp_y)
|
|
render_map(sf_mapa, tiles, vp_x, vp_y)
|
|
|
|
fps_print()
|
|
viewp:print()
|
|
end
|