Ecnu CS Programming Club

ECNUCS_Programming Club

View the Project on GitHub JSYRD/ECNUCS_Programming_Club

碰撞检测

首先要保证要检测的两个对象都是pygame.sprite.Sprite类。

对于自己实现的类,我们可以让其继承pygame.sprite.Sprite类:

class ClassName(pygame.sprite.Sprite):#这样就继承了这个类
	def __init__(self[...,...]):
        pygame.sprite.Sprite.__init__(self)#初始化这个精灵对象
        #yourowncode

对于没有再单独实现的类的对象,我们可以直接使用

Name = pygame.sprite.Sprite()

创建一个原生的pygame.sprite.Sprite对象。

我们之前提到,如果需要操作多个对象,可以选择使用列表。但同时,pygame提供了原生的组:

groupName = pygame.sprite.Group()

这样就得到了一个名字叫groupName的sprite组。

关于sprite组的详细知识,参见 pygame精灵类

pygame的碰撞检测有很多种,下面介绍其中较常用的。