Python----涂鸦跳跃
前言
本人作为一个Python小白,刚刚自己看完《Python编程:从入门到实践》这本书,也跟着做完了项目中的外星人大战,但自己只是能看懂其代码,而让自己单独做一个却不知如何下手。因此,计划自己做一个类似的小游戏,脑海中第一时间就浮现出了高中时期最喜爱的涂鸦跳跃。我已经想象出跳跃的那刻,开始吧,骚年!
项目地址:https://github.com/ding19940215/doodle_jump.git
准备工作
软件开发都是需要开发环境,而自己打算使用Python开发小游戏,就需要Python以及所需的模块Pygame。
安装Pygame
Pygam是一个功能很强大的模块,可以管理图形、动画乃至声音,可以快速开发出一款功能齐全的小游戏。
下载Pygame是根据自己的系统环境来下载(我的是Python3),大致记录一下分别在Linux、Windows、OS X里安装Pygame。
首先检查一下是否安装pip,在终端中输入pip --version
。如果已经安装则会显示其当前版本pip 7.0.3 from /usr/local/lib/python3.5/dist-packages (python 3.5)
。如果出现了错误消息,请尝试将pip替换为pip3。如果执行这两个命令时都出现错误消息,则需要安装pip。
要安装pip,请访问https://bootstrap.pypa.io/get-pip.py。如果出现对话框,请选择保存文件;
如果get-pip.py的代码出现在浏览器中,请将这些代码复制并粘贴到文本编辑器中,再将文件保存
为get-pip.py。将get-pip.py保存到计算机中后,你需要以管理员身份运行它,因为pip将在你的系
统中安装新包。
安装pip
可以使用pip来安装Pygame,大部分的Python版本都安装了pip。
Windows下安装pip,使用下面的命令运行get-pip.py:
python get-pip.py
执行命令python -m pip --versio
确认安装成功
在Linux和OS X下安装pip
使用下面的命令以管理员身份运行get-pip.py:
sudo python get-pip.py
执行命令pip --version
确认安装成功
安装Pygame
LInux下安装Pygame
安装Pygame依赖的库;下载并安装Pygame。
执行下面的命令来安装Pygame依赖的库(python3)
$ sudo apt-get install python3-dev mercurial
$ sudo apt-get install libsdl-image1.2-dev libsdl2-dev libsdl-ttf2.0-dev
如果要添加其他高级功能,如声音的功能,可安装下面额外的库
$ sudo apt-get install libsdl-mixer1.2-dev libportmidi-dev
$ sudo apt-get install libswscale-dev libsmpeg-dev libavformat-dev libavcode-dev
$ sudo apt-get install python-numpy
接下来,执行下面的命令来安装Pygame(如有必要,将pip替换为pip3):
$ pip install --user hg+http://bitbucket.org/pygame/pygame
检查是否安装成功,执行下面操作,若无报错则安装成功:
$ python3
>>> import pygame
>>>
在OS X 系统中安装 Pygame
为安装Pygame依赖的库,请执行下面的命令:
$ brew install hg sdl sdl_image sdl_ttf
如果你还想启用较高级的功能,如在游戏中包含声音,可安装下面两个额外的库:`
$ brew install sdl_mixer portmidi
$ pip3 install --user hg+http://bitbucket.org/pygame/pygame
检查是否安装成功,执行下面操作,若无报错则安装成功:
$ python3
>>> import pygame
>>>
在 Windows 系统中安装 Pygame
访问
https://bitbucket.org/pygame/pygame/downloads/,查找与你运行的Python版本匹配的Windows安装程序
下载合适的文件后,如果它是.exe文件,就运行它。
如果该文件的扩展名为.whl,就将它复制到你的项目文件夹中。再打开一个命令窗口,切换到该文件所在的文件夹,并使用pip来运行它:
> python -m pip install --user pygame-1.9.2a0-cp35-none-win32.whl
开始项目
创建窗口
首先需要有一个窗口,并且设置窗口的背景颜色
创建文件 goodle_jump.py
import sys
import pygame
def run_game():
""""初始化游戏并创建一个窗口"""
# 初始化背景设置
pygame.init()
# 创建显示窗口
screen = pygame.display.set_mode((400, 600))
pygame.display.set_caption('Goodle Jump')
# 设置背景颜色
bg_color=(230,230,230)
# 开始游戏主循环
while True:
# 监视键盘和鼠标事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
# 每次循环都要重绘屏幕
screen.fill(bg_color)
# 让最近绘制的图像可见
pygame.display.flip()
run_game()
添加设置类
创建设置类并将goodle_jump文件里的固定值替换
创建文件settings.py
class Settings():
"""储存游戏的所有设置"""
def __init__(self):
"""初始化游戏设置"""
# 屏幕设置
self.screen_width=400
self.screen_height=600
self.screen_color=(230,230,230)
添加涂鸦图像
创建Graffiti类
import pygame
class Graffiti():
def __init__(self,screen):
"""初始化涂鸦并设置其初始位置"""
self.screen=screen
# 加载涂鸦图像并获取其外接矩形
self.image=pygame.image.load('images/Ainsley.bmp'