Love2D如何使用字符串添加纹理

这并不是最好的标题,但我不知道如何概括问题。我正在尝试“导出”纹理,比如“土”,然后一旦您输入该纹理,它将添加到屏幕上。我已经有了纹理,我需要知道如何使用字符串来添加纹理。我希望这不太难阅读和理解。

点赞
用户3161725
用户3161725

有点不太清楚你所说的“导出”是什么意思。以下代码片段将可重复使用的纹理图像存储在 textures 中,将要绘制的纹理存储在 onScreen 中。请注意,我们像使用键值字典一样使用 textures 表,而我们则像使用有序列表一样使用 onScreen 表。

function love.load()
    textures = {} -- 创建一个表来存储纹理
    textures['dirt'] = love.graphics.newImage('dirt.png') -- 添加名为 'dirt' 的纹理,使用字典的键

    onScreen = {} -- 创建一个表来存储屏幕中绘制的内容
    onScreen[#onScreen + 1] = {'dirt', 0, 0} -- 将 'dirt' 名称和绘制坐标添加到绘制纹理的列表中
end

function love.draw()
    for ind, val in pairs(onScreen) do -- 对于屏幕上的所有纹理
        love.graphics.draw(textures[val[1]], val[2], val[3]) -- 获取指定纹理名称的图像并在指定坐标处绘制
    end
end
2020-01-22 23:10:56