【问题标题】:How to I blit an Image to the front of the other images?如何将图像粘贴到其他图像的前面?
【发布时间】:2015-10-06 03:34:10
【问题描述】:

boltAnim.blit(winsurface, (pos[0]-50,pos[1]-100)??)

我想知道如何将图像blit 到其他图像的前面,我知道我最后一个blit 将最后显示,但是我如何设置blit 参数以在表面上向前或向后发送图像?

【问题讨论】:

  • 2D 中没有 Z 顺序参数。只需按照您希望从前到后的顺序对它们进行 blit。

标签: python pygame


【解决方案1】:

只需更改图像在表面/屏幕上的排列顺序。

例子:

screen.blit("dot1")
screen.blit("dot2")

这将在 dot1 上显示 dot2。

screen.blit("dot2")
screen.blit("dot1")

这将在 dot2 上显示 dot1。

【讨论】:

    【解决方案2】:

    如果您想要一种方法来更改动态 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?

    列表开头的项目将在后面,每个后续项目将在最后一个项目的顶部

    【讨论】:

      猜你喜欢
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多