PyGame 入门小指南

Python/PHP/Perl 开发与设计
回复
头像
racnil
帖子: 288
注册时间: 2008-08-28 8:12
送出感谢: 0
接收感谢: 0
联系:

PyGame 入门小指南

#1

帖子 racnil » 2011-04-01 7:09

看了很多教程,都是很理论化的。一直想找一个能手把手教人写游戏的教程,可是没有找到。所以干脆自己写了一份,目前还正在继续中,不知道有没有人对此感兴趣……

大体的目的是面向有Python基础的用户,从介绍PyGame开始一直到写成一个虽然简单但也不失水准的小游戏为止。希望大家多多支持多多围观,谢谢大家了……

最重要的是文章地址:http://bbs.indepla.net/thread.php?fid-318.html

附上一张目前教程可以达到的效果的贴图,当然目前游戏还很简单,过不了多久就会完善起来的:
图片

======= 分割线下面是节选的一段教程的内容 ========

SDL是一个2D图像库,它对平面图像进行管理(好吧我忽然发现我们学的是PyGame,但是注意PyGame是SDL的一个封装,所以有的时候我会两个名词混用)。

SDL用来管理平面图像的存储单元叫做“层(Surface)”,层之间的赋值可以利用一个叫做Blit的特性来实现。Blit的运行机制就是把一个层上的像素信息覆盖到另外一个层的特定位置。感觉上就好像从一张纸上剪下一个东西,帖到另外一张纸上。

首先呢,我们每一次在进行上面说的剪贴游戏之前,肯定要准备一张大白纸,这张白纸一般被叫做screen。在上面的Py代码中,我们有:
screen = pygame.display.set_mode((640, 480), 0, 32)
这行代码的意思就是设置一个名为screen的存储空间,然后利用pygame类的成员函数display.set_mode(),创建了一张大“黑”纸(因为屏幕的底色一般是黑色)。第一个Tuple参数设置了屏幕的分辨率,第二个参数我们以后会细细讲,第三个参数是颜色模式,32代表了32位色。

然后我们需要准备往大黑纸上帖的图片。那么我们利用:
background = pygame.image.load(background_image_filename).convert()
这行代码可以将硬盘中的图像载入到内存中去,换句话说,准备粘贴的纸张已经准备好了。这里另外说一下,PyGame支持多种图片格式,包括JPG、BMP、PNG等等,做一个简单的2D游戏我想这些格式应该差不多够用了吧~~

===================================
SLAX and Xorg(without any Window Managers)
It's fun!
jtshs256
论坛版主
帖子: 22323
注册时间: 2010-07-19 21:41
系统: OS X
送出感谢: 2 次
接收感谢: 27 次

Re: PyGame 入门小指南

#2

帖子 jtshs256 » 2011-04-01 7:29

占位学习……不过pygame的图标有点蛋疼…… :em06
NO DO NO DIE
http://a/%%30%30
lubcat
帖子: 2061
注册时间: 2010-09-27 12:59
送出感谢: 0
接收感谢: 0

Re: PyGame 入门小指南

#3

帖子 lubcat » 2011-04-07 16:35

小白路过 围观。
生活里,有很多转瞬即逝,像在车站的告别,刚刚还相互拥抱,转眼已各自天涯。很多时候,你不懂,我也不懂,就这样,说着说着就变了,听着听着就倦了,看着看着就厌了,跟着跟着就慢了,走着走着就散了,爱着爱着就淡了,想着想着就算了。
libertas
帖子: 239
注册时间: 2010-10-24 11:43
送出感谢: 0
接收感谢: 1 次

Re: PyGame 入门小指南

#4

帖子 libertas » 2011-08-19 0:26

学习了`!
回复

回到 “Python/Php/Perl”