Pygame,子像素坐标。

时间:2015-04-07 05:29:14

标签: python numpy pygame

我的标题所说的问题是在pygame中设置图形子像素坐标的想法。

我和朋友谈到的是我如何尝试在python中创建一个函数图形程序以获得乐趣,我想到了如何使用它,但我发现了一些问题。

第一个是范围的使用,因为它使用整数而不是浮点数,但numpy的范围修复了这个问题,但这让我想到了第二个问题。

我想到的图形的想法是简单的,不是制作粗大的粗线或奇怪的形状,是因为它使用display.set_at来使单个像素成为一种颜色。对于简单的图表,这非常有效。但当我进入更复杂的图形时,我遇到了两个主要错误:

  1. 第一个错误是图表显示了它们之间没有任何线条的像素,线条的想法是让所有像素彼此靠近的错觉。但我发现,如果范围为1,则会留下这个差距。理论上,使用步长为.01的范围,差距将一起消失,但这带来了第二个问题。

  2. display.set_at不适用于子像素坐标。有人能够建议一种方法来使这项工作?非常感谢。

1 个答案:

答案 0 :(得分:0)

使用pygame的线条绘制功能绘制从当前坐标到下一个坐标的线,而不是使用子像素坐标(pygame.draw.line甚至pygame.draw.lines,而不是设置每个像素)。

这样,"间隙"两点之间填补;不需要子像素坐标。

您只需按正确的顺序绘制线条;只需确保坐标已排序。


除此之外,您还可以通过将x / y值转换为整数来简单地转换子像素坐标。