【问题标题】:Turning off antialiasing on zoom with quad in Löve2D在 Löve2D 中使用四边形关闭抗锯齿
【发布时间】:2021-11-29 13:39:17
【问题描述】:

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

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

我的计划是:

  1. 将一个小图像切成 9 以适应 Quad。
  2. 放大它以适应 UI。
  3. 制作可变 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是整数

我的用户界面是: That's not cool

我怎样才能只获得我想要的像素?
我已经读过Turning off antialiasing in Löve2D

【问题讨论】:

  • 关闭filtering就足够了吗?或者你需要一个过滤器,但没有出血?无论如何,如果您使用四边形,则应使用边距,如 Koyaanisqatsi 发布的链接中所述。让事情变得更容易。

标签: lua love2d


【解决方案1】:

你必须阅读...
https://love2d.org/wiki/Quad ...尤其是黄色的警报框。

【讨论】:

    猜你喜欢
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多