本系列博客介绍以python+pygame库进行小游戏的开发。有写的不对之处还望各位海涵。
一、pygame简介
Pygame 是一组用来开发游戏软件的 Python 程序模块,基于 SDL 库的基础上开发。允许你在 Python 程序中创建功能丰富的游戏和多媒体程序,Pygame 是一个高可移植性的模块可以支持多个操作系统。用它来开发小游戏非常适合。
可以去http://www.pygame.org/hifi.html 下载并安装使用pygame。
二、pygame使用
使用pygame的第一步是将pygame库导入到python程序中,以便来使用它
1 |
import pygame |
然后需要引入pygame中的所有常量。
1 |
from pygame.locals import * |
再经过初始化以后我们就可以尽情地使用pygame了。初始化pygame:
1 |
pygame.init() |
通常来说我们需要先创建一个窗口,方便我们与程序的交互。下面创建了一个600 x 500的窗口
1 |
screen = pygame.display.set_mode((600,500)) |
1.打印字体
pygame支持使用pygame.font将文打印到窗口。要打印文本的话首先需要创建一个文字对象
1 |
myfont = pygame.font.Font(None,60) |
这个文本绘制进程是一个重量级的进程,比较耗费时间,常用的做法是先在内存中创建文本图像,然后将文本当作一个图像来渲染。
1 2 3 |
white = 255,255,255 blue = 0,0,200 textImage = myfont.render("Hello Pygame", True, white) |
textImage 对象可以使用screen.blit()来绘制。上面代码中的render函数第一个参数是文本,第二个参数是抗锯齿字体,第三个参数是一个颜色值(RGB值)。
要绘制本文,通常的过程是清屏,绘制,然后刷新。
1 2 3 |
screen.fill(blue) screen.blit(textImage, (100,100)) pygame.display.update() |
如果此时运行程序的话,会出现一个窗口一闪而过。为了让它长时间的显示,我们需要将它放在一个循环中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
1 import pygame 2 from pygame.locals import * 3 4 white = 255,255,255 5 blue = 0,0,200 6 7 pygame.init() 8 screen = pygame.display.set_mode((600,500)) 9 10 myfont = pygame.font.Font(None,60) 11 textImage = myfont.render("Hello Pygame", True, white) 12 13 while True: 14 for event in pygame.event.get(): 15 if event.type in (QUIT, KEYDOWN): 16 sys.exit() 17rayon-o">: 16 sys.exit() 17 |