优化:

(1)项目中先实现基本功能,立即对功能模块进行验证,然后优化代码,将低层次的代码抽离出来,用语义化的函数进行封装,增强代码的可读性,并且方便后续其他人接手。

(2)为真实游戏体验,需要将速度单独提取出来,重新配置为一个单独的config文件,单独控制子弹和敌军飞机的速度,不同关卡子弹和敌军飞机的速度不同。

(3)当子弹或敌军飞机移动出可视页面时从相应的数据结构中移除相应的元素,控制我方飞机不会移动出可视区域。

(4)增加游戏趣味性,为敌军飞机增加生命值的概念,不同的飞机可以设置不同的生命。

(5)我方飞机移动的优化:最初移动不流畅,因为使用的switch进行匹配->然后使用game.ticker一直检测,飞机可以连贯移动,但不能停下来->使用单个变量存储(非响应式即可)按键状态,设置按键按下和放开按键的回调事件,按下时移动,放开停止移动,但此时不能同时检测多方向按键按下的情况,不能斜方向上移动->将X方向和Y方向上都单独分离出来,可以同时操作,使用两个变量来存储按键的状态,分离方向按键存储->当按下两个方向键(上和下或左和右),放开后按下的方向键,此时飞机停止移动,状态被清空,正确应该是响应第一次按下方向键->分析数据结构来保存上下和左右的按键状态,用反向栈结构来存储,当按下同类型的键时,插入到index=0的位置,放开响应键时找到数组中相应键的位置并从中移除arr.splice(index,1),同时保证时刻响应的是index=0的元素事件。

VUE3项目-飞机大战3相关推荐

  1. VS/Qt C++ 入门项目飞机大战(内含全部源代码,素材,项目工程,项目祥解)可直接运行

    零.说在前面 最近做了个qt/c++的小项目飞机大战,主要是边玩边做,主要讲解一下设计思路,各个模块的实现原理,非常适合初学者拿来练手.需要源码.素材.项目详解.打包软件等整个项目用到的全部内容,可以 ...

  2. Python入门项目——飞机大战

    文章目录 项目描述 Pygame 安装 Windows 平台下安装 Linux 平台安装 开始编写项目 创建 pygame 窗口 设置背景色 创建设置类 添加飞船图像 创建 Ship 类 在屏幕上绘制 ...

  3. Python项目——飞机大战!

    文章目录 一.项目介绍--飞机大战 实战步骤 确认模块 -- pygame 安装 pygame 验证安装 二.pygame 快速入门 项目准备 1. 使用 `pygame` 创建图形窗口 小节目标 1 ...

  4. python项目:飞机大战(爆炸效果,血条,音效,buff加成,boss,菜单,完整详细注释的源码)

    文章目录 一. 总体概览 基本功能 细节部分(全部可以自定义) 可增添需求 二,技术框架 核心技术概述 1.游戏的初始化和退出 2 理解游戏中的坐标系 3 创建游戏主窗口 4. 理解 **图像** 并 ...

  5. JAVA实战项目飞机大战——手把手教你轻松学会

    飞机大战是90后童年经典回忆游戏,紧张刺激的画面和操作感,令人回味无穷.只是大家可能不知道的是,这个经典游戏只是Java的入门项目而已.只要稍微有点基础,便可以轻松的制作出来.今天小编就来带大家用ja ...

  6. android项目飞机大战,Android 项目之飞机大战

    首先,我们要创建一个GameSurface()类:我们此次采用的是画登入界面的方式,所以GameSurface()需要继承SurfaceView类而且要执行SurfaceHolder.Callback ...

  7. 【18.5.31 日常】Android项目——飞机大战详解

    整体实现思路 通过两张背景图片实现背景滚动,同时做出能根据用户触摸位置不同而改变位置的飞机,能够不停地射出子弹,Boss同理,Boss移动方式随机,同时添加小飞机以增强游戏的表现力,外加例如激光之类的 ...

  8. Qt项目——飞机大战

    一.主界面 主界面的布局采用固定大小的窗口,使用图片背景:有一个由图片填充的按钮,点击可开始游戏. 主界面窗口的参数需在配置头文件 config.h 中提前设定: #define GAME_WIDTH ...

  9. python项目飞机大战

    实现步骤 1.创建窗口 2.创建一个玩家飞机,按方向键可以左右移动 3.给玩家飞机添加按空格键发射子弹功能 4.创建一个敌机 5.敌机自动左右移动 6.敌机自动发射子弹 1.创建窗口 import p ...

最新文章

  1. 保护隐私的 Structure-from-Motion (SfM)
  2. jsp中有关于超链接的问题
  3. HTML5学习笔记简明版(8):新增的全局属性
  4. HoloLens 2开发: Vuforia图片识别
  5. 彻底理解position与anchorPoint - Wonderffee's Blog(转)
  6. 软件工程师与码农的区别
  7. Java集合框架知识点
  8. 听写英语单词的小程序
  9. 屏幕录制软件哪个好?
  10. excel打开oracle,Oracle PLSQL读取(解析)Excel文档
  11. 教你5分钟制作出一个Unity图像追踪的AR Demo(使用EasyAR插件4.1版本,个人版,免费)
  12. js键盘监听事件及键盘键码对照表
  13. 计算机的许可服务在哪里打开,Win10服务在哪里,怎么打开Win10服务列表?
  14. python羊车门问题_python羊车门问题的正确解答
  15. 关于人性的20句箴言
  16. 数据分析案例:APP热点标签分析
  17. Commander入门
  18. mysql报错:Column count doesn‘t match value count at row 1
  19. 对华为畅玩手机5X进行升级
  20. 关于Android上进行分区的问题

热门文章

  1. 新版中日交流标准日本语初级第五课之应用课文
  2. 快学Big Data -- Spark SQL总结(二十四)
  3. 【Unity】坦克模型
  4. 华为POE交换机重置密码
  5. XMind2021 最新版PNG去除水印 破解方式
  6. 画活动图教程_卡通人物换装,创意穿搭教程来咯
  7. 浅谈一级机电管道设计中的压力与介质温度
  8. 某公司8面惨烈面试记录
  9. EssentialC++_chapter06 binary tree 的学习笔记记录及问题
  10. 全球与中国智能停车系统市场现状及未来发展趋势