Lua 实体组件具有不同的渲染顺序

Lua 实体组件具有不同的渲染顺序,lua,rendering,love2d,Lua,Rendering,Love2d,我遇到的问题与渲染顺序有关。“我的俄罗斯方块”字段渲染背景-俄罗斯方块块和网格都具有不同的渲染顺序。我的俄罗斯方块有自己的渲染代码。落下的俄罗斯方块在背景和网格之间绘制 因此,我的问题是,如果组件ie(背景网格块)具有不同的渲染顺序,如何以正确的顺序渲染实体?我必须以不同的方式构建我的程序,特别是我的俄罗斯方块领域。但我不知道最好的方法是什么。 main.lua代码段 函数love.draw() 爱。图形。清晰(0,0,0) 字段:draw() 如果当前为_tetromino,则 当前_tet

我遇到的问题与渲染顺序有关。“我的俄罗斯方块”字段渲染背景-俄罗斯方块块和网格都具有不同的渲染顺序。我的俄罗斯方块有自己的渲染代码。落下的俄罗斯方块在背景和网格之间绘制

因此,我的问题是,如果组件ie(背景网格块)具有不同的渲染顺序,如何以正确的顺序渲染实体?我必须以不同的方式构建我的程序,特别是我的俄罗斯方块领域。但我不知道最好的方法是什么。

main.lua代码段

函数love.draw()
爱。图形。清晰(0,0,0)
字段:draw()
如果当前为_tetromino,则
当前_tetromino:draw()
结束
爱。图形。设置颜色(1,1,1)
爱。图形。打印(“分数:…分数,0,25*21)
结束
tetromino.lua片段

函数tetromino:draw()
本地块大小=self.field.blocksize
本地偏移=self.field.position
局部状态=tetromino.rotations[self.shape][self.rotation]
本地位置=自身位置
love.graphics.setColor(tetromino.colors[self.shape])
对于ipairs(州)中的j
对于ipairs中的i(状态[j])do
如果状态[j][i]~=0,则
love.graphics.矩形(“填充”,偏移量[1]+(i+位置[1]-2)*块大小,偏移量[2]+(j+数学地板(位置[2])-2)*块大小,块大小,块大小)
结束
结束
结束
结束
field.lua代码段

函数字段:draw()
本地偏移=自身位置
对于j=1,自身高度,1 do
对于i=1,自宽,1 do
局部颜色={1,1,1}
局部形状=自[j][i]
颜色=tetromino.颜色[形状]或颜色
爱。图形。设置颜色(解包(颜色))
love.graphics.rectangle(“填充”,偏移量[1]+(i-1)*self.blocksize,偏移量[2]+(j-1)*self.blocksize,self.blocksize,self.blocksize)
love.graphics.setColor(0,0,0)
love.graphics.矩形(“线”,偏移量[1]+(i-1)*self.blocksize,偏移量[2]+(j-1)*self.blocksize,self.blocksize,self.blocksize)
结束
结束
结束