开源游戏 | 一款采用 Java开发的基于小孔成像原理与图形光栅化的字符 3D 画面框架构建的空战游戏
去关注、不迷路
一、项目概述
这是一款采用 Java Swing 开发的基于小孔成像原理与图形光栅化的字符 3D 画面框架构建的空战游戏,简单说就是作者为了做个 3D 字符空战游戏,顺手写了个 3D 引擎,别人的本科毕设。
注:dogfight 为军事用语,是指战机近距离接战缠斗,可直接译为“狗斗”。
二、 游戏说明
操作说明:
战机基本操控(战机起飞前不具有机动能力)
-
W:增加油门值
-
A:战机水平左转
-
S:减少油门值并使用打开减速板减速
-
D:战机水平右转
-
鼠标上下滑动:战机上下翻滚
-
鼠标左右滑动:战机左右翻滚
-
鼠标滚轮:瞄准缩放
-
空格:使用加力燃烧加速飞行
战机战斗操控(刚进入游戏时要等待航炮 CN 和导弹 MS 装弹完成)
-
鼠标左键:航炮开火
-
鼠标右键:导弹开火
-
鼠标中键:导弹开火并跟随导弹视角(按Q可回到战机视角)
-
X:释放诱饵弹
其他键位
-
F:(按住)查看记分板
-
C:切换第一/第三人称视角
-
V:切换向前向后看视角
-
Q:回到战机视角
-
P:暂停/继续
-
E:播放上一首音乐
-
R:播放下一首音乐
-
[ 、]:调整画面缩放比例
-
J、K、L、I:改变分辨率
-
M、N:切换显示的字体
-
Esc:退出游戏
武器系统说明
-
航炮 CAN 可连续发射无制导的炮弹,单发炮弹伤害较导弹低但连续发射时火力密度高。开火时需要注意提前量,适合打击视区内近距离目标。
-
导弹 MIS 发射前需要先锁定敌机:使用火控雷达照射敌机(将敌机标识保持在准星附近)即可开始锁定,锁定过程需要2s,锁定后会显示LOCKD(如下图)
此时发射导弹,导弹将自动跟踪敌机。导弹伤害较高,摧毁一架敌机一般需要2~3枚导弹(一次装填4枚),适合打击视线范围外的目标。需要注意的是,开始锁定敌机时,敌机能够感受到被锁定,并释放多个诱饵弹干扰锁定,需要等待干扰弹脱离火控雷达照射范围后才能正常锁定敌机。导弹和诱饵弹的装填时间一致。
-
诱饵弹 Decoy 可以短暂干扰敌机锁定。战机被敌机尝试锁定时,屏幕右侧会出现锁定告警标志并闪烁(闪烁时间逐渐加快),如下图:
此时应按 X键 释放诱饵弹干扰敌机锁定,并做机动动作,摆脱敌机追踪,否则如果该标志变为下图所示,即表明敌导弹已经发射,只能尝试做大幅度机动动作摆脱攻击:
屏幕颜色闪烁说明
-
短闪红:受到航炮攻击
-
长闪红:受到导弹攻击
-
准星变黄:航炮开火
-
背景闪黄:发射的航炮击中敌机
-
背景闪蓝:导弹开火
-
准星闪蓝:导弹命中敌机
-
当您驾驶战机持续做大幅度机动动作(如大角度转向、打开加力燃烧)时,由于人体对加速度G值的承受能力有限,视力会受到影响,您将会屏幕亮度将会降低、变红,如图所示
此时只需停止做大幅度机动动作,即可逐渐恢复视觉
三、 代码说明
这是Eclipse-Maven Java工程,使用JDK1.8
编码工作完成后可使用mavenPackage.bat进行maven打包,目标位于target/dogfightZ-jar-with-dependencies.jar
dogfightZ-jar-with-dependencies.jar是独立的可执行游戏本体,在正确安装配置Java环境的计算机上可以直接双击运行。
项目结构预览
项目源代码总体分为4个大包,如图所示
四、 项目打包说明
请运行 mavenPackage.bat,打包后位于 target/dogfightZ-jar-with-dependencies.jar,包含依赖项,
可在JRE1.8环境下独立运行,若正确配置JAVA_HOME,双击该jar包即可启动游戏。
五 、功能截图
六、项目源码
开源地址:
扫描下方二维码并回复【open-java】获取项目源
往期推荐
写在最后
专注分享开源项目整套解决方案,完全开源、可学习、可商用、宝藏库。
完整开源项目后端技术栈:Spring6、JDK17、SpringBoot、Spring Cloud、Docker、Nginx、Redis、MongoDB、MySql不管你技术提升还是接私活都可以用到。
完整开源项目前端技术栈:vue3、vite3、TypeScript/4、Ant-Design-Vue/3.2、element-plus/2.2、uniapp、H5网页、PC、微信小程序等最新的技术。
每天提供一个超棒的开源项目包含:物联网平台、WMS系统、ERP系统、OMS系统、知识社区、个人博客系列。
欢迎加入【前端开源实验室读者交流群】,群内聊天学习摸鱼为主,不定时会分享一些技术要点和优质学习资源,有一群有趣有料的小伙伴在等你哦!
进群方式:加柚子哥微信回复 进群,按提示操作即可进群。
版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。