继承Sprite

1.1 说明

如果想要实现点击某个棋子时能够自动标记它,那么就得检测出鼠标点击的位置,以及这个位置属于哪个棋子的范围,获取鼠标点击的位置是很容易实现的,但如果要判断这个位置属于哪个棋子,这就需要对当前棋盘上的所有棋子进行判断,这无疑是比较麻烦的。

而pygame已经为我们提供这样的功能,只要创建对象时 棋子是pygame.sprite.Sprite类子类创建出来的,那么就可以直接调用某个方法快出的判断出是哪个棋子被点击,因此我们要将定义了的棋子类进行修改

1.2 代码实现

class Chess(pygame.sprite.Sprite):
        super().__init__()
        self.rect = self.image.get_rect()
        self.rect.topleft = (50 + col * 57, 50 + row * 57)
        self.screen.blit(self.image, self.rect)

image-20210821183527127

1.3 运行效果

img

Copyright © itprojects.cn 2021 all right reserved,著作权归itprojects.cn所有,由王铭东编写该文件修订时间: 2021-08-21 20:32:33