关于surface对象操作误区

2021-11-13  本文已影响0人  _cherry

问题

想要尝试对图片surface对象进行操作,例如,在 图片surface对象(img) 上再覆盖一张图片,或向 图片surface对象(img) 上绘制圆,一直无法成功,代码如下

screen = pygame.display.set_mode((600, 400))
screen.fill([255, 255, 255])

imgPath = "resources/pictures/5.jpg"
img = pygame.image.load(imgPath)
img2 = pygame.image.load(imgPath)
screen.blit(img, (200, 200))
img2.fill((255,255,255))
img.blit(img2, (20, 20))

pygame.display.flip()

效果如下

image.png

解决

查阅资料后,发现搞错了顺序,将 图片surface对象(img) 移动到整个Surface对象窗口(screen) 后,无法再进行对 图片surface对象(img) 的操作,调整加载顺序后,代码如下

screen = pygame.display.set_mode((600, 400))
screen.fill([255, 255, 255])

imgPath = "resources/pictures/5.jpg"
img = pygame.image.load(imgPath)
img2 = pygame.image.load(imgPath)
img2.fill((255,255,255))
img.blit(img2, (20, 20))
screen.blit(img, (200, 200))

pygame.display.flip()

执行成功

效果如下:

image.png
上一篇下一篇

猜你喜欢

热点阅读