Python pygame项目实战英雄动画特效实现
目录
- 1. 英雄的简单动画实现
- 2. 代码演示
1. 英雄的简单动画实现
需求:
- 在游戏初始化定义一个
pygame.Rect
的变量记录英雄的初始位置 - 在游戏循环中每次让英雄的
y-1
--向上移动(y值减1相当于向屏幕上方上移动1) - y<=0将英雄移动到屏幕的底部
友情提示:
- 每一次调用
update()
方法之前,需要把所有的游戏图像都重新绘制一遍 - 而且应该最先重新绘制背景图像
2. 代码演示
案例大体思路概括:
- 在游戏循环上方,定义rect记录飞机的初始位置
- 在游戏循环内部,修改飞机位置:让飞机的y属性-1
- 调用blit方法绘制图像(注意:绘制图像的时候,每一次循环都要先绘制背景图在绘制飞机,这样背景图就会把上一次绘制的飞机遮挡住,所以就不会在屏幕上留下上一次飞机的剪影)
- 调用update方法更新显示,就能看到连贯的动画效果了
具体代码演示如下所示:
import pygame pygame.init() # 创建游戏的窗口 640*642 screen = pygame.display.set_mode((640, 642)) # 绘制背景图像 bg = pygame.image.load("./飞机大战资料包/images/background1.jpg") screen.blit(bg, (0, 0)) # 绘制英雄的飞机 hero = pygame.image.load("./飞机大战资料包/images/me1.png") screen.blit(hero, (300, 500)) # 可以在所有绘制工作完成之后,统一调用update方法 pygame.display.update() # 创建时钟对象 clock = pygame.time.Clock() # 游戏循环->意味着游戏的正式开始 # 1. 定义rect记录飞机的初始位置 hero_rect = pygame.Rect(300, 500, 102, 126) # 游戏循环->意味着游戏的正式开始 while True: # 希望无限循环内部的代码每秒钟重复循环60次 # 可以指定循环体内部的代码执行的频率 clock.tick(60) # 2. 修改飞机的位置 hero_rect.y -= 1 # 3. 调用blit方法绘制图像 # 先绘制背景,在绘制飞机,就不会留下残影(背景把上一次的飞机遮挡) screen.blit(bg, (0, 0)) screen.blit(hero, hero_rect) # 4. 调用update方法更新显示 pygame.display.update() pygame.quit()
代码运行结果如下图所示:运行结果为动画效果,大体概括如下:在屏幕上方可以看到,英雄飞机不断向上移动,每次移动距离1,慢慢移动到屏幕上方,最终移出屏幕。
以上就是Python pygame项目实战英雄动画特效实现的详细内容,更多关于Python pygame英雄动画的资料请关注我们其它相关文章!
相关推荐
-
Python+Pygame实现经典魂斗罗游戏
目录 一.效果展示 二.操作说明 三.核心代码 今天分享一个经典小游戏魂斗罗的 Python 版实现. 一.效果展示 二.操作说明 A:向左 D:向右 W:跳起 S:趴下 J:射击 P:退出程序 目前游戏还是比较初级的版本,有兴趣的小伙伴可以自行修改完善. 三.核心代码 class Game_Player(): def __init__(self,game_settings,screen): self.screen = screen self.game_settings = game_setti
-
python pygame实现打砖块游戏
本文实例为大家分享了python pygame实现打砖块游戏的具体代码,供大家参考,具体内容如下 最近在尝试着写一个用强化学习的方法玩打砖块的游戏,首先将游戏环境做些改动,以便产生需要的数据 游戏环境的界面以及代码如下 import sys sys.path.append(r'E:\anaconda\Lib\site-packages') import pygame import sys import random import time import math from tkinter imp
-
Python Pygame实战之赛车游戏的实现
目录 导语 一.环境安装 1)运行环境 2)素材环境 二.代码展示 三.效果展示 游戏开始—— 游戏界面—— 游戏结束—— 导语 小伙伴们大家好~ 如今的游戏可谓是层出不穷,NBA 2K系列啊,FIFA系列啊更是经典中的经典,不过小编发现,赛车游戏也是深受大家欢迎啊,像跑跑卡丁车.QQ飞车,还有主机游戏极品飞车系列. 咳咳咳......小编那时候主要是最喜欢里面的人物颜值来的! 赛车游戏,通常以款式多样的车型.各式各样的赛道.身临其境的拟真度吸引了众多玩家,而玩家在游戏中需要驾驶各类赛车驰骋在世
-
Python Pygame实战之塔防游戏的实现
目录 一.环境要求 二.游戏介绍 1.游戏目标 2.先上游戏效果图 三.完整开发流程 1.项目主结构 2.详细配置 3.定义敌人.塔楼.子弹的类 4.游戏开始:选择难度地图 5.游戏开始界面 6.游戏运行 7.游戏暂停 8.游戏结束及分数 9.引入音频.图片.地图.难度json 四.游戏启动方法 一.环境要求 windows系统,python3.6+ 安装模块 pip install pyqt5 pip install pygame 二.游戏介绍 1.游戏目标 按照关卡,设计不同的塔防地图(博主
-
Python+Pygame实现简单的射击小游戏
目录 前言 一.运行环境 二.代码展示 三.效果展示 1)游戏界面 2)击中效果 3)+3分 前言 哈喽!哈喽.栗子上线啦~ 要说什么游戏能够获得大家的喜爱? 唯射击游戏莫属.此前大火手游的<刺激战场>当然现在是叫做<和平精英>啦,想当初我也是第一批下载的老玩家了!射击游戏加上丰富的地图不同的体验那是相当的有趣好玩儿. 玩家在射击游戏中,通过瞄准,击杀敌人,能够获得及时的爽感反馈.射击游戏很早就在游戏圈占据一席之地啦~ 今天的游戏代码灵感就是来源于此哦,简约简约,大制作小编一个程
-
Python pygame新手入门基础教程
目录 pygame简介 pygame实现窗口 设置屏幕背景色 添加文字 绘制多边形 绘制直线 绘制圆形 绘制椭圆 绘制矩形 总结 pygame简介 pygame可以实现python游戏的一个基础包. pygame实现窗口 初始化pygame,init()类似于java类的初始化方法,用于pygame初始化. pygame.init() 设置屏幕,(500,400)设置屏幕初始大小为500 * 400的大小, 0和32 是比较高级的用法.这样我们便设置了一个500*400的屏幕. surface
-
Python pygame项目实战英雄动画特效实现
目录 1. 英雄的简单动画实现 2. 代码演示 1. 英雄的简单动画实现 需求: 在游戏初始化定义一个pygame.Rect的变量记录英雄的初始位置 在游戏循环中每次让英雄的y-1--向上移动(y值减1相当于向屏幕上方上移动1) y<=0将英雄移动到屏幕的底部 友情提示: 每一次调用update()方法之前,需要把所有的游戏图像都重新绘制一遍 而且应该最先重新绘制背景图像 2. 代码演示 案例大体思路概括: 在游戏循环上方,定义rect记录飞机的初始位置 在游戏循环内部,修改飞机位置:让飞机的y
-
Python pygame 项目实战事件监听
目录 1. 在游戏循环中监听事件 2. 案例演示 2.1 案例概览 2.2 运行结果 1. 在游戏循环中监听事件 事件event: 就是游戏启动后,用户针对游戏所做的操作 例如:点击关闭按钮,点击鼠标,按下键盘 监听: 在游戏循环中,判断用户具体操作 只有捕获到用户具体的操作,才能有针对性的做出响应 简而言之,在游戏循环中编写一小段代码,通过这一小段代码,判断用户的具体操作行为,这个就叫做监听 代码实现: pygame中通过pygame.event.get()可以获得用户当前所做动作的事件列表(
-
Python pygame项目实战监听退出事件
目录 1. 事件监听 2. 案例演示 2.1 案例大体思路 2.2 代码演示 2.3 运行结果 1. 事件监听 首先,我们简单回顾一下事件监听,可以简单概括如下: 在游戏循环中,我们希望判断用户具体操作 只有捕获到用户具体的操作,才能有针对性的做出响应 简而言之,在游戏循环中编写一小段代码,通过这一小段代码,判断用户的具体操作行为,这个就叫做监听 注意:我们想在游戏中实现监听退出事件并且退出游戏,其实代码非常固定(代码形式都差不多),因为几乎所有的pygame游戏都大同小异. 2. 案例演示 2
-
python mysql项目实战及框架搭建过程
前言 python+mysql.connector,demo实战 框架搭建 说实话,其实没有使用到框架,只是用了, python+mysql.connector模块 首先在开始虚拟环境: (vega-j-vI5SDr) (vega) D:\test\python-mysql\python-mysql\vega>pip install mysql.connector Processing c:\users\administrator\appdata\local\pip\cache\wheels\7
-
Python+Pygame实现代码雨动画效果
pygame实现代码雨动画 如视频所示 利用pygame库实现了一个代码呈雨状下落的视觉效果 部分代码如下 import sys import random import pygame from pygame.locals import * # 屏幕大小 WIDTH = 800 HEIGHT = 600 # 下落速度范围 SPEED = [15, 30] # 字母大小范围 SIZE = [5, 30] # CODE长度范围 LEN = [1, 8] # 随机生成一个颜色 def randomCo
-
33个Python爬虫项目实战(推荐)
今天为大家整理了32个Python爬虫项目. 整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快~O(∩_∩)O WechatSogou [1]- 微信公众号爬虫.基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典. DouBanSpider [2]- 豆瓣读书爬虫.可以爬下豆瓣读书标签下的所有图书,按评分排名依次存储,存储到Excel中,可方便大家筛选搜罗,比如筛选评价人数>1
-
Python Pygame实战之打地鼠小游戏
目录 前言 开发工具 环境搭建 原理简介 前言 今天给大家写一个个打地鼠小游戏,废话不多说直接开始- 开发工具 Python版本: 3.6.4 相关模块: pygame模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块即可. 原理简介 打地鼠的游戏规则相信大家都知道,这里就不多介绍了,反正就是不停地拿锤子打洞里钻出来的地鼠~ 首先,让我们确定一下游戏中有哪些元素.打地鼠打地鼠,地鼠当然得有啦,那我们就写个地鼠的游戏精灵类: '''地鼠'
-
Python Pygame实战之超级炸弹人游戏的实现
目录 前言 一.环境安装 1.素材(图片) 2.环境安装 二.代码演示 1.配置文件 2.主程序 三.效果展示 前言 如今的玩家们在无聊的时候会玩些什么游戏呢? 王者还是吃鸡是最多的选择.但在80.90年代的时候多是一些很简单的游戏:<超级玛丽>.<蜘蛛纸牌>.<魂斗罗>...... 不知道还有人记得<炸弹人>这款怀旧的产品嘛? 啊这,不对不对,放错图片了下面这才是童年的正确打开方式 今天小编就带大家怀旧一波,来给大家用代码仿制一下童年大家玩儿过的<炸
-
Python+Pygame实战之实现小蜜蜂历险记游戏
目录 导语 一.运行环境 二.素材(图片等) 三.代码展示 四.效果展示 导语 亲爱的小可爱们,大家好! 欢迎来到木子的游戏编程空间 经常听到有朋友说,学习编程是一件非常枯燥无味的事情.其实,大家有没有认真想过,可能是我们的学习方法不对? 比方说,你有没有想过,可以通过打游戏来学编程? 今天又又又更新一款新游戏给大家啦,期待不期待呀?教大家如何通过边打游戏边学编程!准备好了吗?我们即将开始激动人心的游戏编程之旅. 或许你之前学习过一点编程,但若是你从没接触过游戏编程,那么你仍然会对游戏程序的运行
随机推荐
- AutoIt3和按键精灵的功能对比第1/2页
- ruby中的双等号==问题详解
- php存储过程调用实例代码
- 一个简单的java学生寝室查询系统
- oracle误删数据恢复方法小结
- 基于PHP实现简单的随机抽奖小程序
- Android实现获取签名及公钥的方法
- mysql 查询重复的数据的SQL优化方案
- React Native仿美团下拉菜单的实例代码
- JS区分Object与Aarry的六种方法总结
- SQL SERVER服务使用批处理启动/停止的方法(sc)
- 浅谈SpringMVC+Spring3+Hibernate4开发环境搭建
- Python中的字典遍历备忘
- JQuery 确定css方框模型(盒模型Box Model)
- poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等
- ASP SQL防注入的方法
- 做好七件事帮你提升jQuery的性能
- jQuery插件autocomplete使用详解
- 解决JMail无法安装的方法(帐户名与安全标识间无任何映射完成)
- asp.net的公共变量声明问题(解决)