在Pygame中进行"连续"绘图
我想在Pygame中绘制一个“连续”的动态图,就像这个NetLogo模拟中的图一样。我的主要困难不是绘制本身(就是在点之间画线),而是当曲线快要到达框的边缘时,如何移动图的框架。
谢谢。
1 个回答
1
好的,你可以通过以下方式制作一个和应用里类似的图表:
首先,创建一个和图表大小一样的表面。然后,创建一个像素数组,这样你就可以修改图表了。
pxarray = pygame.PixelArray (surface)
接着,你可以像操作其他数组一样操作这个数组:
pxarray[x][y] = 0xFF00FF # this will set pixel at x,y to purple
然后,你可以把这个表面正常地显示到屏幕上。
关于像素数组的更多信息:http://www.pygame.org/docs/ref/pixelarray.html
编辑:使用pxarray和transform时,如果你的数字超出了范围,图表会缩小。简单来说,当某个点太大而无法在图表上显示时,你可以添加足够的行,然后使用transform.scale
将其缩放回原来的分辨率。