将鼠标光标更改为手 pygame

Change mouse cursor to hand pygame

在pygame中有没有办法将鼠标光标从箭头变为手形?我在 pygame 中制作了一个按钮,当鼠标悬停在它上面时它会改变颜色,但我希望光标变成一只手。他是我目前拥有的:

class Button(pygame.sprite.Sprite):

    def __init__(self, width, height, centerx, centery, text):
        """Initialize the button"""
        self.image = pygame.Surface((width, height))
        self.image.fill(COLORS["light-blue"])

        self.rect = self.image.get_rect()
        self.rect.centerx = centerx
        self.rect.centery = centery

        self.font = pygame.font.Font('clear-sans.medium.ttf', self.rect.height-4)
        self.text = self.font.render(text, True, COLORS["black"])
        self.text_rect = self.text.get_rect()

        self.clicked = False

    def update(self):
        """Update the button"""
        self.text_rect.center = self.rect.center

    def draw(self, screen):
        """Draw the button on the screen"""
        clicked = False

        mouse_pos = pygame.mouse.get_pos()
        if self.rect.collidepoint(mouse_pos):
            self.image.fill(COLORS["blue"])
            if pygame.mouse.get_pressed()[0] == 1 and self.clicked is False:
                self.clicked = True
        else:
            self.image.fill(COLORS["light-blue"])

        if pygame.mouse.get_pressed()[0] == 0:
            self.clicked = False

        screen.blit(self.image, self.rect)
        screen.blit(self.text, self.text_rect)

        return self.clicked

我知道如何更改光标图像,但我想知道 pygame 中是否有内置方法可以将光标更改为一只手,而无需为它制作新的精灵。

我想你可以在 pygame.cursors 中使用 pygame.SYSTEM_CURSOR_HAND 来完成这个。

Documentation