我正在尝试制作一个淡出(增加透明度)精灵叠加层的功能,这是一个覆盖屏幕的大色块。但是,由于某种原因,只有淡入功能按预期工作。淡出函数立即在其最大不透明度 (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()