空战】做一个小Java游戏的设计,第一部分"/>
【简单空战】做一个小Java游戏的设计,第一部分
本次实验设计的题目是《简单空战》小游戏,系统内容要求有:
- 初始化游戏窗口
- 菜单显示,菜单按键控制
- 开始游戏后创建飞机对象和敌人对象
- 设置贴图
- 子弹完善
- 子弹击中
- 敌人相关
- 血条
- 敌人死亡
- 自己死亡后游戏结束
该游戏的包名,文件以及类的简略说明
- owo
GameMain——程序入口
LVInfo——管理关卡信息(存在不能解决的BUG被废) - owo.game
Ammo——弹药类
Explode——击中爆炸类
GameFrame——游戏主窗口类,实现展示内容 - owo.plane
AirCraft——飞机属性
EnemyPlane——敌人飞机属性
MyPlane——玩家飞机属性 - owo.util
AmmoPool——弹药池(节约运算资源)
EnemyPlanePool——敌人池(节约运算资源)
ExplodePool——爆炸效果池(节约运算资源)
Constant——游戏所有常量均于该类维护
MyUtil——额外功能调用类 - 【photo】原创贴图文件
- 【Process.txt】编写代码时的中文大纲
游戏分析
本游戏实现对飞机的操作包括移动和攻击,尽可能的贴近现实的物理;使游戏拥有一个完整的流程。如图所示
程序详细流程
同时游戏展示内容的素材必须原创,所以需要手动绘图。工程文件如图所示
2.概要设计
1.初始化游戏窗口====================================
设置:标题大小、坐标。事件的监听
2.菜单显示,菜单按键控制====================================
按键会有反应,添加按键监听事件
3.调整窗口重绘====================================
4.开始游戏后创建飞机对象和敌人对象=================================
设置颜色,外形,方向变化
飞机逻辑处理
飞机的飞行控制,飞机默认只能向前行动
发射子弹,创建一个子弹信息,通过飞机信息获得,再将创建的子弹添加到飞机容器
创建父类子类
(1)父类:飞机AirCraft
(2)子类:myplane,enmeyplane
5.设置贴图====================================
6.屏幕闪烁,用双缓冲====================================
定义一张和屏幕大小一致的图
得到图片的画笔
使用图片的画笔将所有内容放到图片上
用系统画笔将图片绘制到frame
7.子弹完善====================================
优化:使用对象池——创建若干个子弹对象,使用+放回(反复创建销毁)
8.敌人====================================
敌人出生点
敌人刷新
敌人AI
(1)3秒让敌人随机获得一个行动状态
(2) 每帧随机(P=0.02)判断是否发射子弹
敌人死亡
为敌人添加一个池
9.子弹击中====================================
爆炸贴图
爆照贴图位置调整
为爆炸添加一个池
10.血条====================================
11.自己死——游戏结束====================================
Ent——退回主菜单——再进入时游戏画面重置
ESC——退出游戏
更多推荐
【简单空战】做一个小Java游戏的设计,第一部分
发布评论