我正在尝试制作一个淡出(增加透明度)精灵叠加层的功能,这是一个覆盖屏幕的大色块。但是,由于某种原因,只有淡入功能按预期工作。淡出函数立即在其最大不透明度 (255) 处绘制精灵叠加层,但尽管使用与淡入函数相同的算法,但没有显示所需的淡出效果,尽管具有不同的范围值,当然。
编辑:
好吧,我想我知道这里的交易。
淡出功能在背景上绘制叠加层......并将其保留在那里,因为它像白痴一样不断地将其绘制在它上面。
我得到它。
我要玩弄这个。
下面是两个函数:
这个有效:
def fade_in(self):
self.FaderInUse.add(self)
for x in range(0, 256, self.rate):
self.colorfade.set_alpha(x)
screen.blit( self.colorfade, ( 0, 0 ) )
pygame.display.flip()
clock.tick(15)
self.FaderInUse.clear( screen, screen )
DrawScreen()
然而,这个并没有完全削减它:
def fade_out(self):
self.FaderInUse.add(self)
for x in range( 255, -1, ( self.rate * -1 ) ):
self.colorfade.set_alpha(x)
screen.blit( self.colorfade, ( 0, 0 ) )
pygame.display.flip()
clock.tick(15)
self.FaderInUse.clear( screen, screen )
DrawScreen()