《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”在商业上要成功很多。

相关文章
|
11月前
|
存储 人工智能 运维
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
612 48
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
|
3月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
11月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
473 7
|
5月前
|
存储 算法 区块链
从零实现Python扫雷游戏:完整开发指南与深度解析
扫雷作为Windows经典游戏,承载了许多人的童年回忆。本文将详细介绍如何使用Python和Tkinter库从零开始构建一个功能完整的扫雷游戏,涵盖游戏设计、算法实现和界面开发的全过程。
463 0
|
7月前
|
程序员 Python
使用CodeBuddy基于Pygame模块实现贪吃蛇游戏
在上班时间用 CodeBuddy 搞贪吃蛇游戏,一开始我还有点小愧疚,但现在回头想想,这简直是我打工人生活里的高光时刻!既能缓解压力,又能激发创造力、提升技术,妥妥的 “摸鱼赢家”!下次摸鱼,我准备再整点新花样,搞个俄罗斯方块啥的,美滋滋!
162 11
使用CodeBuddy基于Pygame模块实现贪吃蛇游戏
|
6月前
|
人工智能 搜索推荐 数据可视化
用 Python 制作简单小游戏教程:手把手教你开发猜数字游戏
本教程详细讲解了用Python实现经典猜数字游戏的完整流程,涵盖从基础规则到高级功能的全方位开发。内容包括游戏逻辑设计、输入验证与错误处理、猜测次数统计、难度选择、彩色输出等核心功能,并提供完整代码示例。同时,介绍了开发环境搭建及调试方法,帮助初学者快速上手。最后还提出了图形界面、网络对战、成就系统等扩展方向,鼓励读者自主创新,打造个性化游戏版本。适合Python入门者实践与进阶学习。
817 1
|
6月前
|
存储 算法 数据可视化
用Python开发猜数字游戏:从零开始的手把手教程
猜数字游戏是编程入门经典项目,涵盖变量、循环、条件判断等核心概念。玩家通过输入猜测电脑生成的随机数,程序给出提示直至猜中。项目从基础实现到功能扩展,逐步提升难度,适合各阶段Python学习者。
499 0
|
11月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
575 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
11月前
|
Java 图形学 Python
用Python和Pygame打造绚丽烟花效果+节日祝福语
本文介绍了一款基于Python和Pygame库实现的烟花效果程序,模拟烟花发射、爆炸及粒子轨迹,结合动态文本显示祝福语,营造逼真的节日氛围。程序包括烟花类、粒子类、痕迹类和动态文本显示功能,通过随机化颜色、速度和粒子数量增加效果多样性。用户可以看到烟花从屏幕底部发射、上升并在空中爆炸,伴随粒子轨迹和动态祝福语“蛇年大吉”、“Happy Spring Festival”。文章详细解析了核心代码逻辑和技术要点,帮助读者理解如何利用Pygame库实现复杂视觉效果,并提供了未来改进方向,如优化性能、增加特效和增强交互性。
742 20
用Python和Pygame打造绚丽烟花效果+节日祝福语

热门文章

最新文章

推荐镜像

更多