【发布时间】:2015-10-06 03:34:10
【问题描述】:
boltAnim.blit(winsurface, (pos[0]-50,pos[1]-100)??)
我想知道如何将图像blit 到其他图像的前面,我知道我最后一个blit 将最后显示,但是我如何设置blit 参数以在表面上向前或向后发送图像?
【问题讨论】:
-
2D 中没有 Z 顺序参数。只需按照您希望从前到后的顺序对它们进行 blit。
boltAnim.blit(winsurface, (pos[0]-50,pos[1]-100)??)
我想知道如何将图像blit 到其他图像的前面,我知道我最后一个blit 将最后显示,但是我如何设置blit 参数以在表面上向前或向后发送图像?
【问题讨论】:
只需更改图像在表面/屏幕上的排列顺序。
例子:
screen.blit("dot1")
screen.blit("dot2")
这将在 dot1 上显示 dot2。
screen.blit("dot2")
screen.blit("dot1")
这将在 dot2 上显示 dot1。
【讨论】:
如果您想要一种方法来更改动态 blitted 的项目顺序,您可以使用图像填充列表并遍历列表以将它们全部绘制出来。 当您想向前或向后移动某物时,请更改其在列表中的顺序
例如:
items_to_be_drawn = [background,image1,image2]
for item in items_to_be_drawn:
screen.blit(item,(0,0))
要更改顺序,您可以使用以下内容: How can I reorder a list in python?
列表开头的项目将在后面,每个后续项目将在最后一个项目的顶部
【讨论】: