绘制地图时通过layer将出生点位不进行绘制,然后将出生点位左边一格的图块用来填充出生点位。
--取地图块,如果地图块layer为7表示预设出生点位
for x=target_cam_x,target_cam_x+128,8 do
for y=target_cam_y,target_cam_y+128,8 do
local mx,my=map_coords(x,y)
local tile_spr=mget(mx,my)
if fget(tile_spr,7) then
--将地图上的图块作为敌人的类型spawn
local e=enemy_spawn(tile_spr,mx*8,my*8,level_cleared)
if(not level_cleared and e.type.isboss)level_boss_arena=true
end
end
end
--绘制地图将layer=7的出生点位不绘制,留下黑色空位,必须保证出生点位左边必须有一个跟脚下图快一致的格子
map(0,0,0,0,128,64,0x20)
--使用出生点位左边一格格子的图块填充黑色空位,
for k,e in pairs(enemies) do
if e.spawned then
local mx,my=map_coords(e.spawn_x,e.spawn_y)
--用enemy左边的一个图片填充,必须保证出生点位左边必须有一个跟脚下图快一致的格子
local tile_spr=mget(mx-1,my)
spr(tile_spr,e.spawn_x,e.spawn_y)
end
end