我要做的是使用具有“线”作为参数 1 而不是“填充”的多边形,使用 4 个坐标,并将线的宽度设置为 2
points = {5, 5, 79, 5, 79, 79, 5, 79}
love.graphics.setLineWidth(2)
love.graphics.polygon("line", points)
这将绘制您正在寻找的形状。
您对您尝试编码的内容的描述听起来很像this tutorial on using love.physics.,据我了解,love.physics 不允许绘制空心形状。因此,如果您想实现物体从墙壁反弹的最终结果,我会按照教程描述的内容添加 3 个类似于墙壁和屋顶的地面对象
--Wall left
objects.wall1 = {}
objects.wall1.body = love.physics.newBody(world, 25, 650/2)
objects.wall1.shape = love.physics.newRectangleShape(50, 650)
objects.wall1.fixture = love.physics.newFixture(objects.wall1.body, objects.wall1.shape)
--Wall Right
objects.wall2 = {}
objects.wall2.body = love.physics.newBody(world, 625, 650/2)
objects.wall2.shape = love.physics.newRectangleShape(50, 650)
objects.wall2.fixture = love.physics.newFixture(objects.wall2.body, objects.wall2.shape)
--Roof
objects.roof = {}
objects.roof.body = love.physics.newBody(world, 650/2, 25)
objects.roof.shape = love.physics.newRectangleShape(650, 50)
objects.roof.fixture = love.physics.newFixture(objects.roof.body, objects.roof.shape)
以及将绘图部分添加到love.draw()
love.graphics.setColor(0.76, 0.18, 0.05)
love.graphics.polygon("fill", objects.wall1.body:getWorldPoints(objects.wall1.shape:getPoints()))
love.graphics.polygon("fill", objects.wall2.body:getWorldPoints(objects.wall2.shape:getPoints()))
love.graphics.polygon("fill", objects.roof.body:getWorldPoints(objects.roof.shape:getPoints()))