2015/11/1用Python写游戏,pygame入门(1):pygame的安装

时间:2023-12-27 15:01:13

这两天学习数据结构和算法,有时感觉并不如直接做项目来的有趣。刚刚学完python的基本使用,现在刚好趁热打铁做个小项目。

由于本人一直很想制作一款游戏,就想使用Python制作一个基础的游戏。搜了一下资料,看到一个很便于使用的库,也就是pygame。

pygame介绍

2015/11/1用Python写游戏,pygame入门(1):pygame的安装

pygame是一个建立在SDL(Simple DirectMedia Layer)上的Python模块,是一个跨平台模块。SDL是用C写的,也可以用C++开发,也有很多语言,pygame就是一个Python中使用的库。

安装pygame

www.pygame.org下载,挑选合适自己系统和Python版本安装,64位的win系统可能会遇到一些困难,据我实验,使用win32位版本的pygame库是可以在64位电脑上使用的。具体安装遇到问题,善用搜索引擎就可以解决,在此不赘述。

如果你安装好了pygame,可以用以下的代码,在自己的Python解释器上验证是否安装好了:

>>> import pygame
>>> print pygame.ver
1.9.1release

当然,出现的版本可能和我不同,并没有太大的差别。确定import没有问题后,就说明有了pygame库。

使用pygame

pygame有很多模块,以下是概览:

模块名 功能
pygame.cdrom 访问光驱
pygame.cursors 加载光标
pygame.display 访问显示设备
pygame.draw 绘制形状、线和点
pygame.event 管理事件
pygame.font 使用字体
pygame.image 加载和存储图片
pygame.joystick 使用游戏手柄或者 类似的东西
pygame.key 读取键盘按键
pygame.mixer 声音
pygame.mouse 鼠标
pygame.movie 播放视频
pygame.music 播放音频
pygame.overlay 访问高级视频叠加
pygame 就是我们在学的这个东西了……
pygame.rect 管理矩形区域
pygame.sndarray 操作声音数据
pygame.sprite 操作移动图像
pygame.surface 管理图像和屏幕
pygame.surfarray 管理点阵图像数据
pygame.time 管理时间和帧信息
pygame.transform 缩放和移动图像

好了,我们来写一个pygame版的Hello,world!

下面是代码:

# -*- coding: utf8 -*-

import pygame #导入pygame库
from sys import exit #向sys模块借一个exit函数用来退出程序 pygame.init() #初始化pygame,为使用硬件做准备 screen = pygame.display.set_mode((300, 200), 0, 32)
#创建了一个窗口 pygame.display.set_caption("Hello, World!")
#设置窗口标题 while True:
#主循环 for event in pygame.event.get():
if event.type == pygame.QUIT:
#接收到退出事件后退出程序
pygame.quit()
exit() screen.fill((200,200,200))
#将背景图画上去 pygame.display.update()
#刷新一下画面

将这段代码输入并运行后,你将会得到这样的画面:

2015/11/1用Python写游戏,pygame入门(1):pygame的安装

点击关闭会正常关闭,而窗口的标题变成了Hello, World!

这段程序里,提到了很多新的概念,比如说事件。这些概念我之后将会继续说明。

代码给上了足够的注释,相信每一个熟悉Python的朋友都可以读懂。

如果并没有接触Python或者没有学习过编程,可以看我博客之前对于《Python核心编程》的学习笔记,也可以自己学习。

Python是一门很舒服的语言。