赞
踩
原文链接:https://xiets.blog.csdn.net/article/details/131382248
版权声明:原创文章禁止转载
专栏目录:Pygame 专栏(总目录)
Pygame 相关网站:
Pygame 是一个免费的开源的跨平台库(支持 Windows、MacOS、Linux),用于使用 Python 开发视频游戏等多媒体应用程序。它使用 SDL(Simple DirectMedia Layer)库 和 其他几个流行的库 一起来抽象出最常见功能的 Python API,使编写这些程序变的简单直观。
Pygame 是 Python 的第三方模块,学习 Pygame 必须要有一定的 Python 语言基础。
Pygame 是一个强大的游戏开发库,提供了广泛的功能来简化您的编码之旅。
Pygame 为 2D 图形和动画提供了简单而有效的工具,包括对图像、矩形和多边形形状的支持。
Pygame 还包括对播放音效和背景音乐的支持,支持 WAV、MP3 和 OGG 音频格式,使您可以轻松地为游戏添加音效和背景音乐。
Pygame 提供了处理键盘、鼠标和操纵杆输入的直观功能,使您可以快速轻松地在游戏中实现玩家控制。无需再为复杂的输入代码苦苦挣扎,Pygame 让它变得简单。
总之,Pygame 提供了一整套专为游戏开发而设计的工具和功能。从碰撞检测到精灵管理,Pygame 拥有各类游戏开发所需的一切。无论您是在构建平台游戏、益智游戏还是介于两者之间的任何游戏,Pygame 都能满足您的需求。
Pygame 的 Logo:
安装 Pygame 模块:
python -m pip install pygame
升级 Pygame 模块:
python -m pip install --upgrade pygame
Python 安装后,启动解释器的命令,Windows 一般是
python
,MacOS 和 Linux 一般是python3
。
pygame
安装后,在.../site-packages/pygame/examples
目录下有许多开发案例。
第一个 Pygame 程序:
import pygame # 导入 pygame 包 def main(): # 程序主函数 pygame.init() # 初始化 pygame (必须最先调用) pygame.display.set_caption("Hello Pygame") # 设置系统窗口标题 screen = pygame.display.set_mode((400, 300)) # 设置游戏窗口大小, 返回一张与游戏窗口屏幕关联的图像对象 while True: # 游戏主循环 (每循环一次绘制一帧) for event in pygame.event.get(): # 获取并移除当前事件队列中的所有事件, 然后遍历每一个事件 if event.type == pygame.QUIT: # 判断是否有退出程序事件 (关闭游戏窗口时会发送 QUIT 事件) pygame.quit() # 退出 pygame, 然后返回主函数 return screen.fill("#CCCCCC") # 把 set_mode() 返回的图像填充为灰色 pygame.display.update() # 把 set_mode() 返回的图像中的内容绘制到屏幕上 if __name__ == "__main__": main() # 当前模块被直接运行时调用主函数
运行代码,屏幕上将出现一个窗口:
为什么要把程序封装在一个
main()
函数中,最后再通过if __name__ == "__main__"
判断去调用?请参考:Python 脚本文件中的 main() 函数 与 if __name__ == “__main__”。
pygame
是 Pygame 的顶级模块,其他子模块的一些属性和类型大多数也导出到了 pygame
模块中。
pygame
模块中的函数:
pygame.init() -> (numpass, numfail) # 初始化所有导入的 pygame 模块, 返回 (成功数量, 失败数量)
pygame.quit() # 取消初始化所有 pygame 模块, init() 的反操作
pygame.get_init() -> bool # 如果 pygame 当前已初始化,则返回 True
pygame.error(message) -> error # 标准 pygame 异常的构造方法
pygame.get_error() -> errorstr # 获取当前错误信息
pygame.set_error(error_msg) # 设置当前错误信息
pygame.get_sdl_version() -> (major, minor, patch) # 获取 SDL 的版本号
pygame.get_sdl_byteorder() -> int # 获取 SDL 的字节顺序
pygame.register_quit(callable) # 注册一个在 pygame 退出时调用的函数
pygame.encode_string([obj [, encoding [, errors [, etype]]]]) -> bytes or None # 编码 Unicode 或字节对象
pygame.encode_file_path([obj [, etype]]) -> bytes or None # 将 Unicode 或字节对象编码为文件系统路径
pygame 包含的主要子模块:
# | 模块 | 描述 |
---|---|---|
1 | pygame.display | 控制显示窗口或屏幕 |
2 | pygame.surface | 内存中的图像模块 |
3 | pygame.color | 颜色模块 |
4 | pygame.rect | 矩形区域 |
5 | pygame.event | 管理事件和事件队列 |
6 | pygame.image | 保存/加载、绘制本地图片 |
7 | pygame.font | 文本绘制 与 字体模块 |
8 | pygame.draw | 绘制几何图形 |
9 | pygame.mixer | 播放音效 |
10 | pygame.mixer_music | 播放背景音乐 |
11 | pygame.transform | 缩放、旋转和翻转图像 |
12 | pygame.time | 帧速率与时间控制 |
13 | pygame.cursors | 加载光标图像,包括标准光标 |
14 | pygame.sprite | 带有基本游戏对象(精灵)类的模块 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。