Lua 将绘图限制为一个区域
问题 我希望在Lua 将绘图限制为一个区域,lua,love2d,Lua,Love2d,问题 我希望在love2d中有一个区域,可以在其中绘制可移动的对象。对象的移动不受区域边界的限制,而是受图形的限制。把它想象成透过窗户向外看。例如:区域中的蓝色矩形,如果移动到一侧,其图形应截断到该区域的边界 搬家前: 移动后(错误): 移动后(右): 限制和假设 可以假定该区域为矩形 要在其中绘制的对象可以是任何对象:多边形、图像或文本 这个区域覆盖了它后面的任何东西(好像它有自己的背景) 不属于该区域的对象应按常规绘制 a尝试的解决方案 我知道我可以在对象“接触”区域边界时立即停止绘制
love2d
中有一个区域,可以在其中绘制可移动的对象。对象的移动不受区域边界的限制,而是受图形的限制。把它想象成透过窗户向外看。例如:区域中的蓝色矩形,如果移动到一侧,其图形应截断到该区域的边界
搬家前:
移动后(错误):
移动后(右):
限制和假设
我知道我可以在对象“接触”区域边界时立即停止绘制对象,但这会导致它们突然消失,然后在完全位于区域内时出现。我想这需要某种分层系统,但我不知道如何将其包含在
love2d
中,我想你正在寻找
剪刀将绘图区域限制为指定的矩形
不带任何参数调用函数(即love.graphics.setScissor()
)将禁用剪刀
例如:
function love.draw ()
-- sets the drawing area to the top left quarter of the screen
local width, height = love.graphics.getDimensions()
love.graphics.setScissor(0, 0, width / 2, height / 2)
-- code to draw things
love.graphics.setScissor()
end
看来这正是我需要的。如何“取消设置”此函数?一个简短的例子将是最受欢迎的。