为什么敌机的爆炸图片不会一直停留在窗口中,敌机的爆炸图片被哪些代码抹去了?

为什么敌机的爆炸图片不会一直停留在窗口中,敌机的爆炸图片被哪些代码抹去了?

如果不加载游戏结束的背景图,明明我方飞机爆炸图片都会停留,为什么敌机爆炸的图片会立马消失?程序里重置也只是重置的完好敌机的图片呀

正在回答

登陆购买课程后可参与讨论,去登陆

6回答

同学,你好。

  1. 爆炸图片是覆盖在飞机图片上绘制的,因为飞机爆炸后,就加载了爆炸显示效果,然后才重置了飞机对象,因此飞机爆炸的显示效果出来时,飞机还在原来的位置

    http://img1.sycdn.imooc.com//climg/5ec3c2fb097eb1d303500185.jpg

  2. 游戏结束后,我方飞机还在屏幕上,只是被结束画面覆盖了;

  3. 绘制是每一帧都在全部绘制一遍、而不是一直“停留”在窗口中。

如果解决了你的疑惑,请采纳,祝学习愉快~ 


好帮手慕笑蓉 2020-05-19 13:19:03

同学,你好。敌机的爆炸图片不会一直停留在窗口是因为screen.blit只绘制了一次,而飞机能够一直停留在窗口是因为绘制代码写到了while循环里,一直在绘制,如图,while里调用的update函数存在screen.blit代码:

http://img1.sycdn.imooc.com//climg/5ec36b520937f87507070591.jpg如果解决了你的疑惑,请采纳,祝学习愉快~ 

  • 提问者 江民川 #1
    这个绘制是不是是每一帧都在全部绘制一遍、而不是一直“停留”在窗口中的意思?
    2020-05-19 13:22:55
  • 提问者 江民川 #2
    还有个问题,麻烦老师分开回答下: 游戏结束的背景图出现后我方飞机就没了,但我并没有清除我机啊,是因为这个结束背景图是“在窗口里以图层覆盖在最上层的方法绘制的”吗?
    2020-05-19 13:24:48
  • 提问者 江民川 #3
    我想理解一下每一帧绘制的原理,爆炸图片的话,是覆盖在飞机图片上绘制的,还是那一帧就是把飞机图片替换成了爆炸图片呢?
    2020-05-19 13:27:56
提问者 江民川 2020-05-19 13:04:03

我还是没明白,请问有老师回答吗?其他问题都被回答了

提问者 江民川 2020-05-19 00:18:45

为什么绘制飞机图片就是一直存在的,我觉得和每一帧挂钩的只有我机,那敌机也该是一次性出现的呀。

提问者 江民川 2020-05-18 20:50:33

纠正一下正文,reset方法重置的是精灵对象的位置,为什么这个重置会把爆炸图片重置掉?或者问,是这个重置让爆炸图片没的吗?

提问者 江民川 2020-05-18 20:48:26

敌机和我机坠毁都是引用飞机父类的broken_down(),这个方法在窗口绘制图片是一次性的吗?

绘制爆炸图片和绘制飞机图片不都是用的screen.blit

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师