如何在 Love2D 中从 STI 地图图层中删除瓷砖或对象?

游戏中的地图

我使用 Simple Tiled Implementation (STI) 库在 Tiled 中创建了地图并将其作为 lua 表导入到我的 Love2d 游戏中。

local STI = require("sti")

function love.load()
  Map = STI("map/1.lua", {"box2d"})
  World = love.physics.newWorld(0, 0)
  Map:box2d_init(World)
  Map.layers.brickCol.visible = false
  Map.layers.boxCol.visible = false

  background = love.graphics.newImage("assets/bg.jpg")
end

地图包含四个图层。两个瓷砖图层,一个用于砖块(蓝色),另一个用于盒子(深色)。其他两个是用于单独设置砖块和盒子的可碰撞属性的实体图层。

我想做到的是在位置 (x, y) 上从瓷砖图层中删除一个瓷砖和相应的实体图层中的矩形。

我尝试修改地图的 lua 表,但是我无法理解它的结构。

我已经尝试查看了 STI 文档,但是我只能找到 removeLayer() 函数。我甚至找不到一个功能来列出特定图层中瓷砖的 ID 和位置。

如果有经验的 Love2D 和 STI 用户能够帮助,我将不胜感激。

点赞