问题
我想在love2d
内有一个可以绘制可移动对象的区域。物体的移动不受区域边界的限制,而是绘制。把它想象成透过窗户向外看。例如:区域中的蓝色矩形,如果它移动到一侧,其绘图应截断为该区域的边界。
搬家之前:
搬家后(错误):
移动后(右):
限制和假设
尝试解决方案
我知道我可以在他们“触摸”该区域的边界时立即停止绘制物体,但这会导致它们突然消失,然后在它们完全进入该区域时出现。我想这需要某种分层系统,但我不清楚如何在love2d
中包含它。
答案 0 :(得分:2)
我认为您正在寻找love.graphics.setScissor
。
剪刀将绘图区域限制为指定的矩形。
不带任何参数调用函数(即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