当前位置: 首页 > 面试题库 >

有一个游戏叫做Flappy Bird,就是一只小鸟在飞,前面是无尽的沙漠,上下不断有钢管生成,你要躲避钢管。然后小明在玩这个游戏时候老是卡顿甚至崩溃,说出原因(3-5个)以及解决办法(3-5个)

冀冯浩
2023-03-14
本文向大家介绍有一个游戏叫做Flappy Bird,就是一只小鸟在飞,前面是无尽的沙漠,上下不断有钢管生成,你要躲避钢管。然后小明在玩这个游戏时候老是卡顿甚至崩溃,说出原因(3-5个)以及解决办法(3-5个)相关面试题,主要包含被问及有一个游戏叫做Flappy Bird,就是一只小鸟在飞,前面是无尽的沙漠,上下不断有钢管生成,你要躲避钢管。然后小明在玩这个游戏时候老是卡顿甚至崩溃,说出原因(3-5个)以及解决办法(3-5个)时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

原因可能是:

1.内存溢出问题。

2.资源过大问题。

3.资源加载问题。

4.canvas绘制频率问题

解决办法:

1.针对内存溢出问题,我们应该在钢管离开可视区域后,销毁钢管,让垃圾收集器回收钢管,因为不断生成的钢管不及时清理容易导致内存溢出游戏崩溃。

2.针对资源过大问题,我们应该选择图片文件大小更小的图片格式,比如使用webp、png格式的图片,因为绘制图片需要较大计算量。

3.针对资源加载问题,我们应该在可视区域之前就预加载好资源,如果在可视区域生成钢管的话,用户的体验就认为钢管是卡顿后才生成的,不流畅。

4.针对canvas绘制频率问题,我们应该需要知道大部分显示器刷新频率为60次/s,因此游戏的每一帧绘制间隔时间需要小于1000/60=16.7ms,才能让用户觉得不卡顿。

(注意因为这是单机游戏,所以回答与网络无关)

 类似资料:
  • 在讲述有关list的时候,提到做游戏的事情,后来这个事情一直没有接续。不是忘记了,是在想在哪个阶段做最合适。经过一段时间学习,看官已经不是纯粹小白了,已经属于python初级者了。现在就是开始做那个游戏的时候了。 游戏内容:猜数字游戏 太简单了吧。是的,游戏难度不大,不过这个游戏中蕴含的东西可是值得玩味的。 游戏过程描述 程序运行起来,随机在某个范围内选择一个整数。 提示用户输入数字,也就是猜程序

  • FlappyBird游戏简介: 玩家通过空格键控制一只小鸟,使其跨越由各种不同长度水管所组成的障碍物,当小鸟碰撞到障碍物或跌至屏幕最底端时,游戏结束。 逐步实现: Step1:定义精灵类 为了方便实现小鸟和水管之间碰撞的检测,我们先定义一些精灵类

  • 本文向大家介绍请尽可能多的列举一些你玩过的游戏(类型不限)。以上游戏哪些你曾经玩过但现在没玩,并简要阐述现在不玩的原因。以上哪些游戏目前还有在玩,井简单阐述一直持续玩的原因。相关面试题,主要包含被问及请尽可能多的列举一些你玩过的游戏(类型不限)。以上游戏哪些你曾经玩过但现在没玩,并简要阐述现在不玩的原因。以上哪些游戏目前还有在玩,井简单阐述一直持续玩的原因。时的应答技巧和注意事项,需要的朋友参考一

  • 我有一个pySpark工作(spark 2.4.1),它在10%的情况下似乎工作正常,其他时候似乎永远停留在一个任务上,我不能真正理解发生了什么。以下是我在pyspark代码中所做的: 我似乎永远停留在对“Topandas”调用的评价中。当我检查executors选项卡时,只有一个executors可以运行,调用堆栈如下: null 编辑:我也有2个执行器失败,错误如下: java.io.ioEx

  • 本文向大家介绍用Python写一个无界面的2048小游戏,包括了用Python写一个无界面的2048小游戏的使用技巧和注意事项,需要的朋友参考一下 以前游戏2048火的时候,正好用其他的语言编写了一个,现在学习python,正好想起来,便决定用python写一个2048,由于没学过python里面的界面编程,所以写了一个极其简单的无界面2048。游戏2048的原理和实现都不难,正好可以拿来练手,要

  • 本文向大家介绍使用Python写一个小游戏,包括了使用Python写一个小游戏的使用技巧和注意事项,需要的朋友参考一下 引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏、后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下其中的有趣之处。本次开发的游戏叫做alien invasion。 安装pygam