python入门

050_wz_hm_项目实战——飞机大战之精灵与精灵组

2020-08-22  本文已影响0人  王泽0106

精灵与精灵组

在刚刚完成的案例中,图像加载、位置变化、绘制图像都需要程序员编写代码分别处理,为了简化开发步骤,pygame提供了两个类:

派生精灵子类

  1. 新建plane_sprites.py文件
  2. 定义GameSprite继承自pygame.sprite.Sprite
    注意:
    如果一个类的父类不是object,在重写初始化方法是,一定要先super()一下父类的__init__方法,保证父类中实现的__init__代码能够被正常执行 派生精灵子类

属性:

方法:
update每次更新屏幕时在游戏循环内调用,让精灵的self.rect.y += self.speed

提示:imageget_rect()方法,可以返回pygame.Rect(0, 0, 图像宽, 图像高)的对象

plane_sprites

使用游戏精灵和精灵组创建敌机

需求:使用刚刚派生的游戏精灵和精灵组创建敌机并且实现敌机动画效果

步骤:

  1. 使用from导入plane_sprites模块
  1. 在游戏初始化创建精灵对象精灵组对象
  2. 在游戏循环中让精灵组分别调用update()draw(screen)方法

职责:
精灵:封装图像image、位置rect和速度speed,提供update()方法,根据游戏需求更新位置rect
精灵组:包含多个精灵对象,让所有精灵调用update()方法更新位置,使用draw(screen)方法在screen上绘制精灵组中所有精灵

绘制敌机1 绘制敌机2 2020.8.22
上一篇 下一篇

猜你喜欢

热点阅读