在 Löve2D 中使用四边形关闭缩放时的抗锯齿
Turning off antialiasing on zoom with quad in Löve2D
我正在使用 Löve2D 编写一个小游戏。 Löve2D 是 Lua 的开源游戏引擎。我遇到的问题是,当您在 integer 位置绘制时,某些抗锯齿过滤器会自动应用于您的精灵。
love.graphics.draw( texture, quad, x, y, r, sx, sy)
我的计划是:
- 将一张小图片裁剪成 9 份以适合四边形。
- 放大它以适合 UI。
- 创建变量UI.
我的形象是:
full image
放大:
5px green rectangle in 15px rounded rectangle
我的测试代码是:
function love.load()
sprite = love.graphics.newImage('image.png')
centerbox = love.graphics.newQuad(5, 5, 5, 5, sprite:getDimensions()
end
function love.draw()
love.graphics.draw(sprite, centerbox, 0, 0, 0, 30, 30)
我只想显示蓝色:
x=5px, y=5px, w=5px, h=5px
结果:
That's not fun
5 是整数,30 是整数,0 是整数。
我的 UI 是:
That's not cool
如何才能只得到我想要的像素?
我已经读过 Turning off antialiasing in Löve2D。
你必须阅读...
https://love2d.org/wiki/Quad
...尤其是黄色的 Alertbox。
我正在使用 Löve2D 编写一个小游戏。 Löve2D 是 Lua 的开源游戏引擎。我遇到的问题是,当您在 integer 位置绘制时,某些抗锯齿过滤器会自动应用于您的精灵。
love.graphics.draw( texture, quad, x, y, r, sx, sy)
我的计划是:
- 将一张小图片裁剪成 9 份以适合四边形。
- 放大它以适合 UI。
- 创建变量UI.
我的形象是:
full image
放大:
5px green rectangle in 15px rounded rectangle
我的测试代码是:
function love.load()
sprite = love.graphics.newImage('image.png')
centerbox = love.graphics.newQuad(5, 5, 5, 5, sprite:getDimensions()
end
function love.draw()
love.graphics.draw(sprite, centerbox, 0, 0, 0, 30, 30)
我只想显示蓝色: x=5px, y=5px, w=5px, h=5px
结果:
That's not fun
5 是整数,30 是整数,0 是整数。
我的 UI 是: That's not cool
如何才能只得到我想要的像素?
我已经读过 Turning off antialiasing in Löve2D。
你必须阅读...
https://love2d.org/wiki/Quad
...尤其是黄色的 Alertbox。