Python 3.x 如何解决pygame中不透明度变化的OOP问题

Python 3.x 如何解决pygame中不透明度变化的OOP问题,python-3.x,oop,pygame,pygame-surface,Python 3.x,Oop,Pygame,Pygame Surface,我正试图将pygame的组成部分整合到它自己独立的类/定义中。但是,当试图设置图像的不透明度时,它不是作为例外显示,而是从其设置不透明度开始,然后变亮,直到达到可能的最大不透明度 我已经试着查看包含游戏的模块和包含类的模块中的不透明度是否发生了变化。然而,他们最终给了我正确的数字,应该是为不透明度设置的数字。是的,我一直在寻找任何可能会错误地增加不透明度的东西 这是我用来编辑图像的代码片段 class PicEditor: def scale(Pic,scaleX,scaleY):

我正试图将pygame的组成部分整合到它自己独立的类/定义中。但是,当试图设置图像的不透明度时,它不是作为例外显示,而是从其设置不透明度开始,然后变亮,直到达到可能的最大不透明度

我已经试着查看包含游戏的模块和包含类的模块中的不透明度是否发生了变化。然而,他们最终给了我正确的数字,应该是为不透明度设置的数字。是的,我一直在寻找任何可能会错误地增加不透明度的东西

这是我用来编辑图像的代码片段

class PicEditor:

    def scale(Pic,scaleX,scaleY):
        Pic.blit = pygame.transform.scale(Pic.blit,(scaleX,scaleY))

    def opacity(Pic,opc):
        Pic.blit.set_alpha(opc)
        print(opc) #attempt at figuring out the problem
这就是我试图运行的代码

while not crashed:
    display.gameLoopTop() #the usual game loop used ontop in pygame
    PicEditor.opacity(templatePic,opacityTemplate) #the issue
    PicEditor.scale(templatePic,displayX,displayY) #scaling an image (works fine)
    templatePic.blitIMG() #bliting the image
    display.gameLoopBottom() #the bottom of a game loop which includes the clock function and pygame display update
pygame.quit()
exit()
预期结果是,图像的不透明度将改变50(opacityTemplate=50),然后图像将适合屏幕的大小(displayX,displayY),然后它将被闪烁

一切都运行得很好,除了图像的不透明度从给定的数字-50开始,再加上50,直到达到最大不透明度,而不会崩溃