我正在用游戏来做一个认知科学实验。
我把物体画到屏幕上--它的数量可能会有很大的变化:4-24。当所有的事情都计算出来时,我立刻把它们全部画出来。问题是,很明显,24项的计算时间要比4长得多。这会导致命令发出以开始绘制计算对象和实际显示在屏幕上之间的时间变化。它只有几毫秒,但这是实验噪音,我想避免。
所有对象必须同时显示。
下面是我编写的函数。所有参数都由程序传递,该程序在实验开始前从熊猫数据帧中提取信息。如果可能的话,计算如何提前从DF中提取项目也许会有所帮助。
def dot_draw(x_positions, y_positions, RGBs):
for dot in range(0, len(x_positions)):
pygame.draw.circle( screen, RGBs[dot], [ x_positions[dot], y_positions[dot] ], 10)
pygame.display.update()
发布于 2016-01-15 15:11:05
所有对象必须同时显示。
当您在屏幕表面上绘制某物时,直到您调用pygame.display.udpate()
或pygame.display.flip()
后才会显示。
因此,当您希望同时显示多个更改时,在完成在屏幕表面绘制所有圆圈等操作之后,只需调用pygame.display.update()
一次即可。
在回应你的评论时:
如果你事先知道要画什么,你可以创建几个屏幕大小的表面,然后画到那个表面,而不是直接画到屏幕表面,然后再把这些画到屏幕表面。
https://stackoverflow.com/questions/34803367
复制相似问题