《Python和Pygame游戏开发指南》——2.17 动画

简介:

本节书摘来自异步社区《Python和Pygame游戏开发指南》一书中的第2章,第2.17节,作者[美]Al Sweigart(斯维加特), 李强 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.17 动画

既然知道了如何让Pygame框架绘制到屏幕上,让我们来学习一下如何制作动画。只有静止的、不能移动的图像的游戏将会相当无聊(我的游戏“Look At This Rock”的销售情况就很令人失望)。动画的图像是做如下的事情所产生的结果:在屏幕上绘制图像,然后隔几秒后在屏幕上绘制一幅略为不同的图像。想象一下程序的窗口有6个像素宽和1个像素高,所有的像素都是白色,而只有位于4,0的一个像素是黑色,看上去如图2-8所示。


screenshot

如果修改了窗口使得3,0的像素成为黑色,而4,0成为白色,看上去将会如图2-9所示。


screenshot

对于用户来说,看上去好像黑色的像素向左边“移动”了。如果重新绘制窗口,使得2,0的像素成为黑色,那么,看上去好像是黑色的像素继续向左移动了,如图2-10所示。


screenshot

看上去好像是黑色的像素在移动,但这只是错觉。对于计算机来说,它只是显示了3幅不同的图像,而每一幅图像上恰好都有一个黑色的像素。考虑一下,如果如图2-11所示的3幅图像快速出现在屏幕上。


screenshot

对于用户来说,看上去像是猫在朝着松鼠的方向移动。但是,对于计算机来说,它们只是一堆的像素。制作看上去逼真的动画的技巧在于让程序将一幅图片绘制到窗口上,等待数秒钟,然后绘制一幅略微不同的图片。

如下的示例程序展示了一个简单的动画。在IDLE的文件编辑器中输入这段代码,并且将其保存为catanimation.py 。还需要将图像文件cat.png放在与catanimation.py 文件相同的目录下。可以从http://invpy.com/cat.png 下载这个图像。从http://invpy.com/catanimation.py 可以找到这段代码。


screenshot

看一下,动画的猫实现了。这个程序比我的游戏“Look At This Rock 2: A Different Rock”在商业上要成功很多。

目录
打赏
0
0
0
0
1819
分享
相关文章
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
319 48
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
112 7
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
198 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
用Python和Pygame打造绚丽烟花效果+节日祝福语
本文介绍了一款基于Python和Pygame库实现的烟花效果程序,模拟烟花发射、爆炸及粒子轨迹,结合动态文本显示祝福语,营造逼真的节日氛围。程序包括烟花类、粒子类、痕迹类和动态文本显示功能,通过随机化颜色、速度和粒子数量增加效果多样性。用户可以看到烟花从屏幕底部发射、上升并在空中爆炸,伴随粒子轨迹和动态祝福语“蛇年大吉”、“Happy Spring Festival”。文章详细解析了核心代码逻辑和技术要点,帮助读者理解如何利用Pygame库实现复杂视觉效果,并提供了未来改进方向,如优化性能、增加特效和增强交互性。
154 20
|
4月前
|
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
100 33
基于Python和pygame的植物大战僵尸游戏设计源码
本项目是基于Python和pygame开发的植物大战僵尸游戏,包含125个文件,如PNG图像、Python源码等,提供丰富的游戏开发学习素材。游戏设计源码可从提供的链接下载。关键词:Python游戏开发、pygame、植物大战僵尸、源码分享。
Python扑克游戏编程---摸大点
Python扑克游戏编程---摸大点
106 1
|
6月前
|
Python 游戏开发实战:从入门到精通
本文介绍利用Python与Pygame库进行游戏开发的基础知识。Pygame是专为游戏设计的Python库,提供了丰富的功能简化游戏开发流程。文中首先指导读者完成Pygame库的安装,并通过示例代码演示了游戏窗口创建、基本图形绘制及用户输入处理等核心概念。此外,还展示了如何通过定义类来组织游戏对象,帮助读者更高效地管理游戏代码。适合初学者入门Python游戏开发。
392 1
python编写下象棋游戏|4-14
python编写下象棋游戏|4-14
总有一个是你想要的分享40个Python游戏源代码
这是一系列基于Python开发的游戏项目集合,包括中国象棋、麻将、足球、坦克大战、扑克等多种类型游戏,运用了Pygame等库实现图形界面与AI算法。此外还包含迷宫、数独、推箱子等益智游戏及经典游戏如《仙剑奇侠传二战棋版》和《星露谷物语》的Python版本,适合编程学习与娱乐。
491 11

热门文章

最新文章