张冬寒 司占军
摘要:目的在MyEclipse中实现多人在线二维坦克游戏的开发。方法:坦克游戏用Adobe PhotoShop等软件进行原始素材的制作、编辑与修剪。然后在MyEclipse中进行资源的整合,通过Java语言编程完成界面的设计与游戏规则的制定。结果:制成一个完整的二维坦克游戏设计并完成游戏的测试与发布的工作。结论:多人对战游戏操作简单,它的开发提升了二维游戏的丰富性,实现多用户的交流。
关键词:二维;Java;坦克游戏
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)08-0111-02
在现代信息社会中,随着网络游戏的突飞猛进的发展,中国的游戏产业走向了前所未有的高度。同时游戏也从单一向多元化发展,作为休闲游戏的起源,坦克游戏是最直接最平面化的战斗模式,是一款非常适合工作之余用来缓解压力的小游戏。
Java作为一款运用较为广泛的编辑语言,有着其他编辑语言所不具备的其突出的优越性,包括平台无关性和其提供通用软件服务等等。作为一种解释型语言,它的多线程的特性使我们在编程过程中很容易实现实时的交互行为。同时MyEclipse能够快速高效地进行开发工作,提供J2EE、Java Persistence等数据库的支持。通过在MyEclipse中运用Java语言进行游戏的开发创作既简单又便利。
1游戏设计
游戏就是在一定的游戏规则下在不同的情景时间中调用不同的资源,从而产生不同的游戏画面和听觉,使玩家和游戏中各种资源产生互动进而达到娱乐的目的。
如下图所示为本游戏设计的思路框架,主要由游戏规则组成,其中主要包括两种游戏模式,单人模式和多人模式,分别进行不同的规则逻辑编码实现游戏创作。
2设计与开发
2.1游戏素材整理
在游戏中需要坦克模型,炮弹等一系列基础资源,因为是二维平面游戏,在游戏设计前期只要通过Photo Shop等基础软件就能进行绘制创作。同时为了增加游戏画面的视觉享受,坦克应设置多方向移动,炮弹轨迹也应与坦克方向一致,还可以添加坦克爆炸效果等素材。
2.2游戏规则代码
在MyEclipse中进行游戏规则代码的编写时应注意根据游戏模式的不同,需要进行不同的操作。单机模式只需实现坦克的移动、发射炮弹、爆炸效果等功能,与素材完成替换即可,多人模式则需要在单人模式基础上建立对战服务器端和接收端。
2.2.1实现坦克的移动
先在窗口中运用paint(Graphics g)方法画出简单坦克图像,添加纪录按键状态的布尔量,然后利用枚举的方法添加代表坦克运行方向的量。实现坦克移动需要使用内部类,将坦克固定位置更改为变量,在编写代码过程中考虑到炮弹飞行问题,要启动线程不断进行重画。
2.2.2爆炸效果
爆炸效果的实现是通过不同直径的圆模拟爆炸。为了让爆炸达到最大时从画面中消失,需要添加live的属性。具体步骤应将爆炸效果保存在集合类中,在“TankClient”中加入集合类,将集合中的爆炸注意画出,当爆炸达到最大时爆炸效果从画面中消失,爆炸效果产生于炮弹击中坦克时(HitTank時发生爆炸)。类“Explode”代码如下:
2.3实现联网对战
要实现游戏的联网对战,首先要建立服务器端,并建立Cli-ent和Server产生连接,完成连接后需要客户端发送UDP端口,客户端需要独一无二的ID号,要求给每一个Client端发送一个不同的号码,将其写入客户端进行数据处理,完成坦克诞生。
3完善和修饰
完成游戏的制作后,需要检查游戏是否完整,能否正常操作,达到预期目的,因此要对其进行调试与运行。在运行中,需要测试游戏的基本操作,包括坦克移动,炮弹轨迹,爆炸效果等等,也要测试AI系统是否存在问题。
4结束语
MyEclipse,是基于Eclipse开发的功能强大的企业级集成开发环境,提供的编程语言数据库很广,适应各种应用服务器的集成支持。
在游戏开发的初期对游戏有一个基本的开发流程,并且策划好每一步需要完成的工作尤为重要。通过开发这款二维游戏,既能提高素材整理工作,包括基本平面设计调整,也有利于相关爱好人士初步了解学习Java编程和游戏开发平台My-Eclipse的大部分功能。