大小: 2219
备注:
|
大小: 5326
备注:
|
删除的内容标记成这样。 | 加入的内容标记成这样。 |
行号 3: | 行号 3: |
= pygame概述 = | = 概述 = |
行号 5: | 行号 5: |
pygame是主要构筑在SDL库基础上的一组Python模块的集合,它使我们能够用Python语言来创建功能完整的游戏和多媒体程序。pygame是高度括平台可移植的,几乎可以在任何平台和操作系统上运行。 | == 介绍 == pygame是主要构筑在SDL库基础上的一组Python模块的集合,它使我们能够用Python语言来创建功能完整的游戏和多媒体程序。pygame是高度括平台可移植的,在任何SDL支持的平台上都可以运行(几乎可以在任何平台和操作系统上运行)。 |
行号 12: | 行号 14: |
= pygame的安装 = | == 安装 == |
行号 22: | 行号 24: |
= pygame起步 = | == 文档 == |
行号 24: | 行号 26: |
作为起步,pygame有很多tutorial和介绍文章。然后在examples目录中,有很多可以运行的小程序,可以从这些程序的代码开始动手。 | 作为起步,pygame有很多tutorial和介绍文章(在 http://www.pygame.org/wiki/tutorials 可以找到)。然后在examples目录中,有很多可以运行的小程序,可以从这些程序的代码开始动手。 |
行号 28: | 行号 30: |
如果需要帮助,可以在IRC的pygame频道找到可以提供帮助的人:irc.freenode.net 6667 #pygame | |
行号 29: | 行号 32: |
http://www.pygame.org/readme.html | pygame维护了一个活跃的邮件列表。你可以发信到[email protected]来发信到邮件列表。发送特定内容的信到[email protected]可以实现一些特别功能,比如订阅、取消订阅和获取帮助可以分别用如下内容(写在信的内容而不是标题中)的信件实现: * subscribe pygame-users * unsubscribe pygame-users * help |
行号 31: | 行号 37: |
http://www.pygame.org/install.html | == 参考资料 == |
行号 33: | 行号 39: |
http://www.pygame.org/docs/tut/intro/intro.html | * 官方主页 http://www.pygame.org/ * pygame下载 http://www.pygame.org/download.shtml * pygame入门 http://www.pygame.org/wiki/tutorials * pygame文档 http://www.pygame.org/docs/ * 获取pygame帮助 http://www.pygame.org/wiki/info * pygame游戏下载 http://www.pygame.org/projects/6 |
行号 35: | 行号 46: |
http://www.pygame.org/docs/tut/ImportInit.html | = 起步 = == 初始化 == pygame的import和初始化是非常简单的。首先我们必须先导入(import)pygame这个包。 {{{#!python import pygame from pygame.locals import * }}} 第一行是必须的,它导入了pygame包中所有可用的模块。第二行是可选的,它把一些常量和函数放在global名字空间中。 必需注意的是,有些pygame模块是可选的,比如font模块。当你import pygame时,pygame会检查font模块是否存在。如果font模块存在,那么它会自动被导入为pygame.font。如果它不存在,pygame.font会被设置成None。 在用pygame前,必须先初始化。一般只要一句话就可以完成: {{{#!python pygame.init() }}} 执行这个语句,它会试着去初始化所有的pygame模块。并不是所有的模块都是需要初始化的,这个语句会自动去初始化那些需要初始化的模块。你也可以手动的去初始化各个模块,比如说要单独初始化font模块可以这样做: {{{#!python pygame.font.init() }}} 注意,如果执行pygame.init()初始化有错误,它不会给出异常。如果手动初始化单个模块,错误会导致抛出异常。任何必须初始化的模块都包含一个get_init()函数,来判断这个模块是否已经被初始化。 可以对任何模块多次调用init()函数而不会出错。 已经初始化的模块通常会有一个quit()函数来完成清理工作。没有必要显式的调用这个函数,因为pygame会在python退出的时候自动清理所有已经初始化的模块。 == 控制screen == screen的初始化操作是这样的: {{{ >>> screen = pygame.display.set_mode((1024, 768)) >>> screen = pygame.display.set_mode((1024, 768), pygame.FULLSCREEN) }}} 你可以用set_mode把原来窗口的游戏变成全屏。其它的俄显式模式(可以用|连接)有 * DOUBLEBUF 对于平滑的动画所必须 * OPENGL 让你可以用PyOpenGL,但是不能用pygame的绘图函数 还有一个可选的depth参数,用来控制颜色显示的深度。一般情况下不用指定这个参数,只要用默认值就可以了。 如果使用DOUBLEBUF,你需要用flip函数来把绘制的内容显示到屏幕screen上。 {{{ >>> pygame.display.flip() }}} |
概述
1. 介绍
pygame是主要构筑在SDL库基础上的一组Python模块的集合,它使我们能够用Python语言来创建功能完整的游戏和多媒体程序。pygame是高度括平台可移植的,在任何SDL支持的平台上都可以运行(几乎可以在任何平台和操作系统上运行)。
pygame是自由、免费的,以GNU LGPL 2.1协议发布,完整的协议可以在 http://www.gnu.org/copyleft/lesser.html 找到。这协议基本上就让你可以在你的任何项目中使用pygame。你可以用它来创建开源、自由、免费、共享或者商业游戏。但是如果你要增加和改变pygame本身的功能,你必须以一种LGPL兼容的协议来发布这种修改。
而examples子目录中的程序属于公共域软件。
2. 安装
pygame安装的简单方法是下载对应于你的系统的二进制pygame安装包。二进制安装包通常包括了依赖信息。从 http://www.pygame.org/download.shtml 可以找到你的系统和python版本对应的pygame安装包。
从源代码安装pygame也是相当自动的过程。主要的工作就是要安装pygame所依赖的软件包。一旦它所依赖的东西就绪,那么只要简单的运行setup.py就可以完成pygame的自动配置、编译和安装。
pygame非常强的依赖于SDL和Pygame。同时它也连接或者嵌入了几个其他的小程序库。font模块依赖于SDL_tff(它又依赖于freetype),mixer和mixer.music模块依赖于SDL_mixer,imag模块依赖于SDL_image(它又依赖于libjpeg和libpng),transform模块为了rotozoom函数而内嵌了SDL_rotozoom,surfarray模块需要python的Numeric包来提供多维数组。
在 http://www.pygame.org/install.html 有更多关于安装的信息。
3. 文档
作为起步,pygame有很多tutorial和介绍文章(在 http://www.pygame.org/wiki/tutorials 可以找到)。然后在examples目录中,有很多可以运行的小程序,可以从这些程序的代码开始动手。
而完整的pygame参考手册在 http://www.pygame.org/docs/index.html 可以找到。
如果需要帮助,可以在IRC的pygame频道找到可以提供帮助的人:irc.freenode.net 6667 #pygame
pygame维护了一个活跃的邮件列表。你可以发信到[email protected]来发信到邮件列表。发送特定内容的信到[email protected]可以实现一些特别功能,比如订阅、取消订阅和获取帮助可以分别用如下内容(写在信的内容而不是标题中)的信件实现:
- subscribe pygame-users
- unsubscribe pygame-users
- help
4. 参考资料
pygame下载 http://www.pygame.org/download.shtml
pygame入门 http://www.pygame.org/wiki/tutorials
pygame文档 http://www.pygame.org/docs/
获取pygame帮助 http://www.pygame.org/wiki/info
pygame游戏下载 http://www.pygame.org/projects/6
起步
1. 初始化
pygame的import和初始化是非常简单的。首先我们必须先导入(import)pygame这个包。
第一行是必须的,它导入了pygame包中所有可用的模块。第二行是可选的,它把一些常量和函数放在global名字空间中。
必需注意的是,有些pygame模块是可选的,比如font模块。当你import pygame时,pygame会检查font模块是否存在。如果font模块存在,那么它会自动被导入为pygame.font。如果它不存在,pygame.font会被设置成None。
在用pygame前,必须先初始化。一般只要一句话就可以完成:
1 pygame.init()
执行这个语句,它会试着去初始化所有的pygame模块。并不是所有的模块都是需要初始化的,这个语句会自动去初始化那些需要初始化的模块。你也可以手动的去初始化各个模块,比如说要单独初始化font模块可以这样做:
1 pygame.font.init()
注意,如果执行pygame.init()初始化有错误,它不会给出异常。如果手动初始化单个模块,错误会导致抛出异常。任何必须初始化的模块都包含一个get_init()函数,来判断这个模块是否已经被初始化。
可以对任何模块多次调用init()函数而不会出错。
已经初始化的模块通常会有一个quit()函数来完成清理工作。没有必要显式的调用这个函数,因为pygame会在python退出的时候自动清理所有已经初始化的模块。
2. 控制screen
screen的初始化操作是这样的:
>>> screen = pygame.display.set_mode((1024, 768)) >>> screen = pygame.display.set_mode((1024, 768), pygame.FULLSCREEN)
你可以用set_mode把原来窗口的游戏变成全屏。其它的俄显式模式(可以用|连接)有
- DOUBLEBUF
- 对于平滑的动画所必须
- OPENGL
- 让你可以用PyOpenGL,但是不能用pygame的绘图函数
还有一个可选的depth参数,用来控制颜色显示的深度。一般情况下不用指定这个参数,只要用默认值就可以了。
如果使用DOUBLEBUF,你需要用flip函数来把绘制的内容显示到屏幕screen上。
>>> pygame.display.flip()