版本4和12间的区别 (跳过第8版)
于2006-09-02 11:08:02修订的的版本4
大小: 2005
编辑: czk
备注:
于2006-09-03 17:45:17修订的的版本12
大小: 4596
编辑: czk
备注:
删除的内容标记成这样。 加入的内容标记成这样。
行号 3: 行号 3:
= pygame概述 = = 概述 =
行号 5: 行号 5:
pygame是一组用于编写游戏的模块的集合。pygame是构筑在SDL库的基础上的,它使我们能够用Python语言来创建功能完整的游戏和多媒体程序。pygame是高度可移植的,几乎可以在任何平台和操作系统上运行。 == 介绍 ==
行号 7: 行号 7:
pygame是自由、免费的,以LGPL协议发布。你可以用它来创建开源、自由、免费、共享或者商业游戏。 pygame是主要构筑在SDL库基础上的一组Python模块的集合,它使我们能够用Python语言来创建功能完整的游戏和多媒体程序。pygame是高度括平台可移植的,在任何SDL支持的平台上都可以运行(几乎可以在任何平台和操作系统上运行)。
行号 9: 行号 9:
= pygame的安装 = pygame是自由、免费的,以GNU LGPL 2.1协议发布,完整的协议可以在 http://www.gnu.org/copyleft/lesser.html 找到。这协议基本上就让你可以在你的任何项目中使用pygame。你可以用它来创建开源、自由、免费、共享或者商业游戏。但是如果你要增加和改变pygame本身的功能,你必须以一种LGPL兼容的协议来发布这种修改。
行号 11: 行号 11:
    You should definitely begin by installing a binary package for your system. The binary packages usually come with or give the information needed for dependencies. Choose an appropriate installer for your system and version of python from the pygame downloads page. http://www.pygame.org/download.shtml

    Installing from source is fairly automated. The most work will involve compiling and installing all the pygame dependencies. Once that is done run the "setup.py" script which will attempt to auto-configure, build, and install pygame.

    Much more information about installing and compiling is available in the install.html file.
而examples子目录中的程序属于公共域软件。
行号 18: 行号 14:
If you are just getting started with pygame, you should be able to get started fairly quickly. Pygame comes with many tutorials and introductions. There is also full reference documentation for the entire library. Browse the documentation from the documenantation index. docs/index.html. == 安装 ==
行号 20: 行号 16:
On the pygame website, there is also an online copy of this documentation. You should know that the online documentation stays up to date with the development version of pygame in cvs. This may be a bit newer than the version of pygame you are using. pygame安装的简单方法是下载对应于你的系统的二进制pygame安装包。二进制安装包通常包括了依赖信息。从 http://www.pygame.org/download.shtml 可以找到你的系统和python版本对应的pygame安装包。
行号 22: 行号 18:
Best of all the examples directory has many playable small programs which can get started playing with the code right away. 从源代码安装pygame也是相当自动的过程。主要的工作就是要安装pygame所依赖的软件包。一旦它所依赖的东西就绪,那么只要简单的运行setup.py就可以完成pygame的自动配置、编译和安装。
行号 24: 行号 20:
= 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包来提供多维数组。
行号 26: 行号 22:
在 http://www.pygame.org/install.html 有更多关于安装的信息。
行号 27: 行号 24:
http://www.pygame.org/readme.html == 文档 ==
行号 29: 行号 26:
http://www.pygame.org/install.html 作为起步,pygame有很多tutorial和介绍文章(在 http://www.pygame.org/wiki/tutorials 可以找到)。然后在examples目录中,有很多可以运行的小程序,可以从这些程序的代码开始动手。
行号 31: 行号 28:
http://www.pygame.org/docs/tut/intro/intro.html 而完整的pygame参考手册在 http://www.pygame.org/docs/index.html 可以找到。
行号 33: 行号 30:
http://www.pygame.org/docs/tut/ImportInit.html 如果需要帮助,可以在IRC的pygame频道找到可以提供帮助的人:irc.freenode.net 6667 #pygame

pygame维护了一个活跃的邮件列表。你可以发信到pygame-users@seul.org来发信到邮件列表。发送特定内容的信到majordomo@seul.org可以实现一些特别功能,比如订阅、取消订阅和获取帮助可以分别用如下内容(写在信的内容而不是标题中)的信件实现:
    * subscribe pygame-users
    * unsubscribe pygame-users
    * help

== 参考资料 ==

 * 官方主页 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

= 起步 =

= 初始化 =
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退出的时候自动清理所有已经初始化的模块。

TableOfContents

概述

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维护了一个活跃的邮件列表。你可以发信到pygame-users@seul.org来发信到邮件列表发送特定内容的信到majordomo@seul.org可以实现一些特别功能,比如订阅、取消订阅和获取帮助可以分别用如下内容(写在信的内容而不是标题中)的信件实现:

  • subscribe pygame-users
  • unsubscribe pygame-users
  • help

4. 参考资料

起步

初始化

pygame的import和初始化是非常简单的。首先我们必须先导入(import)pygame这个包。

   1 import pygame
   2 from pygame.locals import *

第一行是必须的,它导入了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退出的时候自动清理所有已经初始化的模块。

Pygame起步 (2010-01-29 16:48:28由s235-200编辑)

ch3n2k.com | Copyright (c) 2004-2020 czk.