这两天学习数据结构和算法,有时感觉并不如直接做项目来的有趣。刚刚学完python的基本使用,现在刚好趁热打铁做个小项目。
由于本人一直很想制作一款游戏,就想使用Python制作一个基础的游戏。搜了一下资料,看到一个很便于使用的库,也就是pygame。
pygame介绍
pygame是一个建立在SDL(Simple DirectMedia Layer)上的Python模块,是一个跨平台模块。SDL是用C写的,也可以用C++开发,也有很多语言,pygame就是一个Python中使用的库。
安装pygame
从www.pygame.org下载,挑选合适自己系统和Python版本安装,64位的win系统可能会遇到一些困难,据我实验,使用win32位版本的pygame库是可以在64位电脑上使用的。具体安装遇到问题,善用搜索引擎就可以解决,在此不赘述。
如果你安装好了pygame,可以用以下的代码,在自己的Python解释器上验证是否安装好了:
>>> importpygame>>> printpygame.ver1.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!")#设置窗口标题
whileTrue:#主循环
for event inpygame.event.get():if event.type ==pygame.QUIT:#接收到退出事件后退出程序
pygame.quit()
exit()
screen.fill((200,200,200))#将背景图画上去
pygame.display.update()#刷新一下画面
将这段代码输入并运行后,你将会得到这样的画面:
点击关闭会正常关闭,而窗口的标题变成了Hello, World!
这段程序里,提到了很多新的概念,比如说事件。这些概念我之后将会继续说明。
代码给上了足够的注释,相信每一个熟悉Python的朋友都可以读懂。
如果并没有接触Python或者没有学习过编程,可以看我博客之前对于《Python核心编程》的学习笔记,也可以自己学习。
Python是一门很舒服的语言。