在 Löve2D 中使用 Quad 进行缩放时关闭抗锯齿

我正在使用Löve2D编写一个小游戏。 Löve2D 是一个用于 Lua 的开源游戏引擎。 我遇到的问题是,当您将精灵绘制在整数位置时,会自动应用某些抗锯齿过滤器。

love.graphics.draw( texture, quad, x, y, r, sx, sy)

我的计划是:

1.将小图像分成九个以适应 Quad。 2.将其缩放以适应 UI。 3.将 UI 设为可变。

我的图像是。

完整图像

缩放:

15px圆角矩形中的5px绿色矩形

我的测试代码是:

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](https://i.stack.imgur.com/81aRp.png)

结果: 这不好玩

5 是整数,30 是整数,0 是整数

我的 UI 是: 这不酷

如何获得我想要的像素?

我已经阅读了Turning off antialiasing in Löve2D

原文链接 https://stackoverflow.com/questions/69515441

点赞
stackoverflow用户11740758
stackoverflow用户11740758

你必须阅读以下页面:

https://love2d.org/wiki/Quad

特别是黄色警报框。

2021-10-10 14:01:22