如何解决Pygame 图像未更新
class Button:
buttons = []
def __init__(self,blitX,blitY,textureFile,width,height,rotateAngle=0,hoveredTextureImage=None):
self.textureImage = pygame.transform.rotate(pygame.transform.scale(pygame.image.load(textureFile),(width,height)),rotateAngle)
if hoveredTextureImage is not None:
self.hoveredTextureImage = pygame.transform.rotate(pygame.transform.scale(pygame.image.load(
hoveredTextureImage),rotateAngle)
else:
self.hoveredTextureImage = self.textureImage
self.blitX = blitX
self.blitY = blitY
self.height = height
self.displayImage = self.textureImage
self.addButton(self)
self.createMouseParameters()
def createMouseParameters(self):
self.startX = self.blitX
self.endX = self.startX + self.displayImage.get_width()
self.startY = self.blitY
self.endY = self.startY + self.displayImage.get_height()
def draw(self,window):
window.blit(self.displayImage,(self.blitX,self.blitY))
def mouSEOnButton(self,mouseX,mouseY):
if self.startX <= mouseX <= self.endX:
if self.startY <= mouseY <= self.endY:
self.displayImage = self.hoveredTextureImage
return True
else:
self.displayImage = self.textureImage
else:
self.displayImage = self.textureImage
@classmethod
def addButton(cls,button):
cls.buttons.append(button)
@classmethod
def detectMouseHover(cls,mouseY):
for button in cls.buttons:
button.mouSEOnButton(mouseX,mouseY)
这是我的按钮类。当鼠标在按钮上时,按钮应该切换到另一个图像(hoveredTextureImage)。我在我的游戏循环中调用类方法“detectMouseHover”,以便游戏可以更新按钮的图像。我遇到的问题是图像没有改变。关于如何修复它的任何想法?
如果有人对如何使代码更简洁和简单有任何想法,我也将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。