我在用着Löve2D http://love2d.org用于编写一个小游戏。 Löve2D 是 Lua 的开源游戏引擎。我遇到的问题是,当您在非整数位置绘制精灵时,某些抗锯齿过滤器会自动应用于精灵。
love.graphics.draw( sprite, x, y )
因此,当 x 或 y 不是圆形时(例如,x=100.24),精灵会显得模糊。当精灵大小不均匀时也会发生同样的情况,因为 (x,y) 指向精灵的中心。例如,一个 31x30 大的精灵将再次显得模糊,因为它的像素被绘制在非整数位置。
由于我使用的是像素艺术,所以我想完全避免这种情况,否则艺术会被这种效果破坏。到目前为止,我使用的解决方法是通过在代码中调用 math.floor() 来强制坐标为圆形,并通过使用绘画程序添加一行或一列透明像素来强制所有精灵具有均匀的大小, 如果需要的话。
是否有一些命令可以在程序启动时调用来停用抗锯齿功能?
如果关闭抗锯齿功能,就会出现锯齿现象,因此得名!为什么要在非整数位置绘制,您希望它对这些小数部分做什么? (将它们四舍五入到最接近的值?截断它们?如果它们是负数怎么办?)
就我个人而言,我会保留低级图形,并更改您的代码以使用 x 和 y 的访问器来执行您需要的舍入或截断。这可以保证您的像素艺术最终绘制在整数边界上,同时保留您稍后可能需要的抗锯齿功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)