我使用Löve2D用于写入一个小游戏。 Löve2D是Lua的一个开源游戏引擎。我现在遇到的问题是,当你在非整数位置绘制它的一些抗混叠滤波器被自动应用到你的精灵。

love.graphics.draw( sprite, x, y )

因此,当x或y不是圆形的(例如,X = 100.24),子画面显得模糊。同样的情况,当子画面大小不是偶数,因为(X,Y)点,子画面的中心。例如,子画面是31x30大会出现模糊再次,由于它的像素在非整数位置绘。

由于我使用的像素艺术,我想避免这种一路,否则在本领域被此效果被破坏。我使用至今的解决方法是通过乱抛垃圾与调用代码math.floor(),并迫使所有的精灵有即使添加透明像素的行或列的画图程序的大小,迫使坐标是圆的如果需要的话。

有一些命令停用抗锯齿我可以在程序启动时调用?

有帮助吗?

解决方案 3

在万一有人有兴趣,我一直在问及其他场所中发现了什么,我问的是已经申请为特征:的 http://love2d.org/forum/tracker.php?p=2&t=7

所以,爱的当前版本,我使用(0.5.0)仍然不允许禁用抗混叠滤波器,但功能已经在发动机的SVN版本。

其他提示

如果您关闭抗锯齿,你只会得到混淆,因此而得名!你干吗非整数位置绘画,你想要它做的那些小数部分是什么? (圆他们最近的值?截断他们什么,如果他们是消极的?)

我个人独自离开低级别的图形和修改代码以使用执行您需要的舍入或截断x和y的存取。这可以保证你的像素艺术最终整数边界绘制,同时保持反锯齿上,你可能以后需要。

另一种可能的解决办法可以是使用math.floor()到圆你整数作为一种廉价的解决方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top