飞机大战
小编刚刚写完飞机大战,哈哈哈,代码量大概是200行,怎么说也是一个小项目,当然了,项目可没那么容易做出来,为什么才200行代码呢,当然是应用的第三方的插件功能多一些了,说几个功能吧,希望你们在做这个项目之前能有一点了解,或者是体会一下pygame的强大功能
介绍几个功能
-
pygame.Rect(x, y, 宽,高)
rect 表示一个矩形,这个功能主要记录一些数据 -
sdreen = pygame.display.set_mode(宽,高)
这个是建立一个游戏界面,参数可以写一个 rect -
pygame.image.load(图片地址)
向内存中加载一张图片 -
image.get_rect()
获得图片的矩形数据 x ,y 默认是0 -
pygame.display.update()
更新当前窗口的所有图片位置 -
screen.blit(gb, (0, 0))
向一张图片中绘制一张图片 -
pygame.time.set_timeer(事件,毫秒)
多少毫秒之后就会调用这个方法 -
clock = pygema.time.Clock()
定义一个侦测器配合 clock.tick(60) 一块使用表示一秒侦测60次 -
pygame.sprite.Group(精灵)
定义一个精灵组 -
类(pygame.sprite.Sprite)
继承之后就是一个精灵类,精灵类需要两个方法
def __init__(self, image_name, speed=1):
super().__init() # 完成父类的初始化
self.image = pygema.image.load(image_name)
self.rect = self.image.get_rect()
self.speed = speed
def update(self):
self.rect.y += self.speed
-
rect.bottom
获得图片底部 y 的值数据 -
rect.centerx
获取图片中心 x 的值 -
groups.update()
调用精灵组中所有对象的update方法 -
groups.draw(screen)
把精灵组中的精灵绘制到屏幕上 -
pygame.event.get()
获得这一事件所有的事件,返回一个列表,包括自定义的事件,donw, up, press等等 -
pygame.key.get_pressed()
返回一个bool序列 被按下的显示True -
pygame.sprite.groupcollide(精灵组1, 精灵组2, 1dokill, 2dokill)
当两个精灵组碰撞在一起的时候kill 精灵对象 -
enms = pygame.sprite.spritecollide(图片对象, 精灵组, 是否kill精灵组)
返回一个序列,当序列长度大于0 的时候表示图片对象与精灵组碰撞在了一起