pygame奇怪的blit行为

因此,我一直在制作一个基本的pygame程序,该程序具有一些按钮和背景,并且在将按钮悬停在上方并单击时变得更暗时设置按钮的系统时,我遇到了这个问题,每次单击该按钮时,按钮都会变暗,但应该变暗,但在释放时,按钮会返回全亮度仅一两个帧,然后返回到悬停亮度。

class button:
    def __init__(self,action,actionParam,buttonPic,x,y,w,h):
        self.action = action
        self.actionParam = actionParam

        self.bx = int(uiX + (x * uiW))
        self.by = int(uiY + (y * uiH))
        self.bw = int(w * uiW)
        self.bh = int(h * uiH)

        self.buttonPic = pygame.transform.scale(buttonPic,(self.bw,self.bh))

        self.over = pygame.Surface((self.bw,self.bh))
        self.over.fill((0,0))

    def draw_button(self):
        if window.blit(self.buttonPic,(self.bx,self.by)).collidepoint(mouse):
            self.over.set_alpha(50)
            if click[0]:
                self.over.set_alpha(100)
        else: self.over.set_alpha(0)
        window.blit(self.buttonPic,self.by))
        window.blit(self.over,self.by))

    def click_button(self):
        if window.blit(self.buttonPic,self.by)).collidepoint(mouse):
            self.action(self.actionParam)

当我将鼠标悬停在按钮上时,它也没有反应变暗,在我的互联网浏览器上,当我将鼠标悬停在按钮上时,它会做出反应。

注意,我在碰撞点行中使用的“鼠标”在每次绘制按钮之前主循环运行时都定义为pygame.mouse.get_pos() 和“点击”是pygame.mouse.get_pressed()

thickice_1119 回答:pygame奇怪的blit行为

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3141316.html

大家都在问