2022 Pygame精灵类重构教程(四)入门疑问

2026-05-16 13:370阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1579个文字,预计阅读时间需要7分钟。

2022 Pygame精灵类重构教程(四)入门疑问

前两章已完成游戏开发,本章采用OOP风格重构游戏,随后为游戏添加音乐元素。若已完成前三章代码,可能会发现代码较为混乱。想修改某个代码?寻找困难、修改起来?

前面3章已经完成了游戏,这章使用OOP风格重构游戏,然后给游戏添加一点音乐。

用精灵类重构

如果你完成了前3章的代码,应该会发现代码很乱。想更改某个代码?查找困难、修改起来更困难!不断添加的新功能让我们的代码越来越复杂,难以阅读。

考虑使用OOP重构代码,将游戏元素用类组织起来。Pygame提供了Sprite,便于我们控制游戏中的元素:

Sprite(精灵)类,可以看成是surface+rectangle的组合,并且绘制和更新起来非常容易。

想要绘制一个精灵,只需要:1.创建sprite;2.将sprite放到Group或GroupSingle中;3.通过group进行 draw/update (和把大象放进冰箱里一样简单)

Group,是用于装精灵的容器。GroupSingle,只能装一个精灵。

下面,我们用精灵重构玩家的属性和方法:继承精灵类,并重写其方法。__init__(self)在初始化方法中,初始化素材,初始image和rect。注意,这里image和rect是固定写法,Sprite更新时会用到这两个名称。另外初始化方法中要调用父类的初始化方法。

update(self):角色更新的逻辑。

阅读全文

本文共计1579个文字,预计阅读时间需要7分钟。

2022 Pygame精灵类重构教程(四)入门疑问

前两章已完成游戏开发,本章采用OOP风格重构游戏,随后为游戏添加音乐元素。若已完成前三章代码,可能会发现代码较为混乱。想修改某个代码?寻找困难、修改起来?

前面3章已经完成了游戏,这章使用OOP风格重构游戏,然后给游戏添加一点音乐。

用精灵类重构

如果你完成了前3章的代码,应该会发现代码很乱。想更改某个代码?查找困难、修改起来更困难!不断添加的新功能让我们的代码越来越复杂,难以阅读。

考虑使用OOP重构代码,将游戏元素用类组织起来。Pygame提供了Sprite,便于我们控制游戏中的元素:

Sprite(精灵)类,可以看成是surface+rectangle的组合,并且绘制和更新起来非常容易。

想要绘制一个精灵,只需要:1.创建sprite;2.将sprite放到Group或GroupSingle中;3.通过group进行 draw/update (和把大象放进冰箱里一样简单)

Group,是用于装精灵的容器。GroupSingle,只能装一个精灵。

下面,我们用精灵重构玩家的属性和方法:继承精灵类,并重写其方法。__init__(self)在初始化方法中,初始化素材,初始image和rect。注意,这里image和rect是固定写法,Sprite更新时会用到这两个名称。另外初始化方法中要调用父类的初始化方法。

update(self):角色更新的逻辑。

阅读全文