如何在图片上使用pygame set_alpha()

如何在图片上使用pygame set_alpha(),第1张

如何在图片上使用pygame set_alpha()

您可能遇到的另一个问题(除了猴子说的话)是您可能需要使用

surface.convert()
它将图像转换为可以更改Alpha的形式。您可以执行以下任一 *** 作。

image = pygame.image.load("logo.png")image = image.convert()

要么

image = pygame.image.load("logo.png").convert()

我发现,尽管

surface.convert_alpha()
应该做几乎相同的事情,但通常不起作用。尝试此测试代码进行检查。

import pygame, syspygame.init()window=pygame.display.set_mode((1500, 800))background=pygame.Surface((window.get_rect().width, window.get_rect().height))background.fill((0, 0, 0))image=pygame.image.load('InsertImageHere.png')image=image.convert()image2=pygame.image.load('InsertImage2Here.png')image2=image2.convert_alpha()rect=image.get_rect()rect2=image2.get_rect()rect2.left=rect.width+1i=1while True:    for event in pygame.event.get():        if event.type==12: pygame.quit() sys.exit()    image.set_alpha(i)    image2.set_alpha(i)    window.fill((255, 255, 255))    window.blit(background, background.get_rect())    window.blit(image, rect)    window.blit(image2, rect2)    pygame.time.delay(20)    i+=1    if i==255:        i=1    pygame.display.update()

在我的测试中,图像1逐渐消失,但是图像2一直保持黑暗。您应该自己尝试一下;您的计算机可能工作方式不同。

如果

surface.convert_alpha()
对您有用,则应使用它,否则,请按照我之前说的做。这应该可以解决您的问题。

您还应该注意,我使用的

pygame.time.delay(20)
不是以前的2000。如果要增加1的alpha值,则2000会有点太长。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5645580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存