一个用于教学编程的小游戏开发框架。

hac-game-lib的Python项目详细描述


Linux: OkWindows: OkMac OS: OkGPLv3 licensePRs WelcomeDocumentation StatusCII Best PracticesCircleCI

hac游戏库

游戏库-游戏库-天文学俱乐部开发规则

姓名变更

随着图书馆越来越受欢迎,我们决定不再以我们的小科学俱乐部命名。在

所以我们决定将其重命名为pygamelib。在这个过程中,整个文件/类层次结构都被重新处理过。在

因此,pygamelib 1.2.0+与hac游戏库没有向后兼容。我们正在讨论name兼容性, 转换到新库非常容易(请参阅下面的指南)。其他所有东西都是100%兼容的(它是由同一个人编码的同一个库)。在

如何升级到pygamelib

只需使用pip升级:

pip3 install --upgrade --user hac-game-lib

这将自动安装pygamelib并废弃hac game lib模块。在

如果要在系统范围内安装,而不仅仅是为当前用户安装,请从命令行中删除--user选项。在

从hac游戏库转换为pygamelib

文件和目录命名现在与PEP 8PEP 423更加一致。 我们使用了这样一个事实,即重命名和重组将破坏一切,以减少只有一个类的模块的扩散。我们合理化了一点。在

所以不用再费事了:

  • 在游戏库。游戏, 游戏库板, 游戏库库存现在统一为游戏库引擎。在
  • 在gamelib.hac例外以及游戏库.Utils现在统一为游戏库。作为例外,Hac前缀被Pgl替换,但为了方便起见,添加了镜像类以避免破坏现有的游戏。在
  • 在游戏库.BoardItems, 游戏库。可移动, 游戏库。不可移动, 游戏库角色以及游戏库结构现在统一为pygamelib.board_项。在
  • 在游戏库致动器致动器, gamelib.Actuators.SimpleActuators, 游戏库。执行器。高级执行器现在统一为pygamelib.致动器。在
  • 在游戏库精灵在1.1.0版中已弃用gamelib.Assets.Graphics游戏库.Sprites和现在被删除(请继续阅读)。在
  • 在游戏库资产现在是pygamelib.assets公司。在
  • 在gamelib.Assets.Graphics游戏库现在是pygamelib.assets.graphics。在
  • 在gamelib.Assets.Graphics游戏库.Sprites已重命名为pygamelib.assets.graphics.型号。在

在游戏库.Utils模块可能是最需要关注的模块。它正在被爆炸和移除。在

  • 彩色正方形和矩形现在在pygamelib.assets.graphics完全相同的名字。在
  • 中的着色文本函数已移至新的文本类游戏库. 在
  • get_key()函数已移动到pygamelib.engine.Game游戏。在

还有一些新的模块和特性,但是请参见pygamelib的发行说明。在

总的想法是限制导入的数量,并根据功能相似性对事物进行分组。在

希望你的软件不需要太多的转换工作。在

真正的突破性变化

有一些事情发生了变化,并打破了以前的实现:

  • 在BoardItem.大小()—>;BoardItem.inventory_空间():引入pygamelib.gfx.core.Sprite和BoardCompletItem我们需要知道物品的实际尺寸。以前的大小是用来计算库存中使用了多少空间。内部结构是最新的,但是如果您使用的是size属性,您应该注意这个变化。在
  • 抛射:*参数被回调参数取代。在shipper类中,传递给hit_回调的额外参数一团糟。因此,它现在使用的形式与泛型可操作结构相同。在

还有很多类变量已更改为属性。请阅读文档。 以防不清楚精灵(pygamelib.gfx.core.Sprite)描述的内容与以前不同(以前pygamelib.Assets.Sprites现在pygamelib.assets.graphics。型号)。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在jetty请求日志中添加milliscond字段?   java在使用Scanner类从文件读取信息时遇到问题   为什么。类不适用于泛型类型?   SQLite插入上的java空指针异常   java能告诉我们Guava缓存是在禁用统计数据的情况下构建的吗?   java在应用程序中使用常量   java无法使用AutoIT和Selenium Webdriver在所需位置/文件夹保存图像   java如何在jtable中更新jprogress栏   java是比较给定日期和当前日期(在给定时区中没有时间段)的最佳方法   安卓代码中的java错误   java无法访问实体类中的字段   java如何在tomcat中处理三个JDBC连接池?   java无法使用Spring Security保护AngularJS页面   如何在没有TCP/IP协议栈的情况下用Java发送以太帧