我附上了2张照片。目前我正在进行简单的2d平台游戏;这个想法是玩家从屏幕的左下角开始,如果玩家在屏幕右下角捕获旗帜,玩家就会获胜并将玩家带到下一个级别。
所以我设置了我的播放器和地面,并将重力和碰撞界限应用于它们(图1反映了情况)。无论如何,这是一个棘手的部分,如何将碰撞系统添加到platform1,2和3? 我不想使用" Tiled Map Editor"或者这样。目标是使用Photoshop和&amp ;;创建关卡。插画家将这些带到游戏世界。
有什么想法和想法吗?或者任何建议?
答案 0 :(得分:2)
您可能希望为每个级别创建一个文件,指定平台的位置和大小以及其他任何内容,例如背景图像起始位置等。然后编写逻辑编码以加载该数据文件并创建物理实体等。那里的水平。
示例数据文件可能看起来像
return {platforms={
{x=200, y=200, width=10, height=20},
{x=200, y=200, width=10, height=20},
{x=200, y=200, width=10, height=20, type="brick"},
},
size={width=300,height=200},
start={x=100,y=200},
goal={x=200,y=100, nextlevel="desert"},
background={image="bluelevel.png"}
}
然后处理这些文件以通用方式创建级别:
function load_level(filename)
data = dofile(filename)
platforms = {}
for i, p in ipairs(data.platforms) do
body=love.physics.newBody(world, p.x, p.y, "static")
shape=love.physics.newRectangle(p.width, p.height)
fix=love.physics.newFixture(body, shape)
platforms[i] = {body=body, shape=shape, fix=fix}
end
-- .... finish loading data
end