基于J2ME的坦克⼤战⼿机游戏的设计与实现_张坤龙
科技信息
SCIENCE &TECHNOLOGY INFORMATION 2010年第33期0引⾔
汇编语言与接口设计第四版随着移动通信技术的飞速发展,移动开发备受⼤家的关注。⽽在移动通信中跨平台技术的发展使得移动通信更加的实⽤和多彩化。⽽J2ME 的跨平台技术使得J2ME 成为主要的技术。J2ME 是有SUN 公司研发的,针对嵌⼊式,消费类电⼦产品的开发平台。他和J2SE,J2EE 共同构成了Java 技术的三个主要分⽀。Java 所⽀持的⼿机游戏在以后的市场⾥必会占据很⼤的份额。所以我们在对此的基础上对Java ⾥的J2ME 做个⼤概的了解。我们以坦克⼤战的游戏为例⼦对他进⾏说明。
1J2ME 简介
Java ME 以往称作J2ME (Java Platform,Micro Edition )是为机顶盒、移动电话和PDA 之类嵌⼊式消费电⼦设备提供的Java 语⾔平台,包括虚拟机和⼀系列标准化的Java API 。它和Java SE 、Java EE ⼀起构成Java 技术的三⼤版本,并且同样是通过JCP (Java Community Process )制订的。J2ME 的主要部分包括连接的设备配置、连接的有限设备配置、移动信息设备配置⽂件,以及其它许多实现针对⽤户
和嵌⼊式设备市场的Java 解决⽅案的⼯具和技术。他主要是由配置和简表构成的。其中,配置的作⽤是提供⼤范围的设备,⽽且在配置中同时有Java 虚拟机。简表则是⼀个开发包邮件。配置是纵向的⽽简表是横向的。在Java ⾥⾯的三个主要技术J2ME 、J2SE 、J2EE.他们的关系也就是Java 的平台结构如图1所⽰。
图1Java 的平台结构
2
关键技术
java手机游戏下载2.1
图⽚绘制技术
游戏图⽚⾥可以使⽤Graphics 类实现。Graphic 类具有24位深度⾊彩的绘制能⼒,在J2ME 的编程⾥
我们⼤多以这个技术来进⾏绘制图⽚。但是有的图⽚也许不符合我们的⼤⼩的要求,所以在设计中我们还要进⾏图⽚的压缩和修改。这个时候⽤到的是图⽚的压缩技术,我们可以⽤getWaith ()及getHeight ()取得⼿机的宽度和⾼度,然后对图⽚进⾏修改以做到⼤⼩合适。游戏⾥的图⽚要做到⼤中⼩合适。
2.2双缓冲绘制技术
Image offScreenImage =null;进⾏的双缓冲背景图⽚设置技术,这个技术也是在游戏⾥的关键技术。设置的图⽚在它在每次的擦除中显⽰出来,但是他的擦除和重绘都是在屏幕上的,如果处理的不合理就会出现背景和主图⽚的重合,使得游戏的平⾯显⽰杂乱,游戏不具有观赏性。他是指在内存中重新开辟⼀⽚区域作为后台的画⾯,程序对他进⾏修改和更新,使图⽚完好。
2.3坦克的移动设置技术
在这个游戏⾥我们主要对坦克的移动和他的状态进⾏编写。⽽在坦克的移动⾥我们必须要⽤到精灵函数也就是Sprite 类函数。他可以
制作动态的图⽚效果,⽽且在这个函数⾥我们将他的左右的移动,上下的移动以及坦克的的效果等描绘出来。在这个函数⾥我们还⽤了keyPressed 这个函数来确定坦克的上下左右的移动。在这⾥我
们设置为2468这⼏个数字。来对坦克进⾏上下左右的移动,5键是发射的按钮。来对敌对坦克进⾏攻击。
linux文件怎么保存3
总体设计
3.1
游戏进⾏的模型
关于这个游戏我们需要进⾏模型的推断和设计,将他的⼤概的步骤进⾏分类,并且在流程图上显⽰出来。他的⼤致的流程图如图2所⽰:
图2游戏的主要流程图
我们根据设计的程序以及在bin ⽬录⾥的我们⾃⼰到的图⽚将开始时的画⾯设计如图3。
图3游戏进⼊的界⾯
3.2
坦克⼤战
对于这款游戏⼤家都⽐较的熟悉了解,游戏在视觉和操作⽅⾯都⽐较的适合⼤家。正是所说的⽼少皆宜。⽽且为了新⼿的着想这款游戏⾥还有复活和⽆敌等特别制造的功能。⽽且在进⼊游戏的时候在游戏帮助⾥可以根据⾃⼰的实际情况来调节⼿机坦克的难度。在进⾏游戏的时候,玩家控制坦克射击敌⽅坦克,消灭所有敌机后游戏胜利,当玩家的坦克被敌机击中,玩家失败⽽结束游戏。玩家控制玩家坦克发射⼦弹,⼦弹与玩家坦克碰撞则发⽣爆炸;当⼦弹射击到海洋、树⽊、砖墙、森林时,相应的部分会消失。主要的游戏界⾯如图4所⽰。
其中游戏的时候我们可以开始,也可以结束它。⽽且通过消灭敌
基于J2ME 的坦克⼤战⼿机游戏的设计与实现
张坤龙胡国华
(合肥学院电⼦信息与电⽓⼯程系安徽
合肥
230601)
【摘要】随着⼿机的⼴泛普及Java 功能在移动设备上的实现,⼿机游戏也⽇益流⾏起来;本⽂结合J2ME 知识和⼿机游戏开发实践,深⼊阐述了坦克⼤战经典⼿机游戏的设计和实现过程。
【关键词】JAVA ;J2ME ;游戏设计;⼿机游戏
Design and Implementation of Mobile Game of Tank Combat on J2ME
【Abstract 】With the wide popularity of mobile phone and the Implementation of Java on mobile devices.So Mobile phone games are also increasingly popular;This paper relay on the knowledge about J2ME and mobile game ,details of the Battle City Classic mobile game design and implementation process.
【Key words 】JAVA ;J2ME ;Game Design ;Mobile
game
○IT 论坛○94
科技信息2010年第33期
SCIENCE &TECHNOLOGY INFORMATION 对坦克的数量来计算分数。图4游戏界⾯图
3.3游戏的主要代码和内容3.3.1技术处理
这个设计实验⾥我们对于图形的设计⽐较的严格,注意对图⽚的处理以此来消除闪屏和图⽚显⽰不当的问题,对于图⽚的选择我们主要是在image 的内容⾥。通过这个程序将我们要选择的图⽚穿插进来达到显⽰效果,image
bindfailed什么意思=ateImage("/tank.png");类似这样的选择⽅法。
public class SnakeThread extends GameCanvas implements Runnable {通过这个线程的类来对游戏的进程进⾏控制。public void start(){这个程序使得游戏的运⾏等。⽽public void paintAll(){g.setColor
(0,150,225);g.fillRect(0,0,180,180);g.setColor(255,255,255);g.fillRect(8,8,156,156);这些的内容则是对于背景的渲染,让背景的颜⾊进⾏的符合坦克⼤战的游戏。3.3.2主要代码和注释
游戏⾥⾯我们⾸先进⼊主界⾯。对于主界⾯⼤家可以根据⾃⼰的爱好来选择,然后在主界⾯上有离开游戏。进⼊游戏,游戏帮助等的功能。此项技术是在MIDP ⾥的gane 包⾥实现的。来⽤此项技术解决关于画⾯的静态、动态等的⼀系列的功能。下⾯有个关于设置⼿机连接的图,在我们做好的游戏⾥⾯我们通过上、下、左、右键来控制⾃⼰的坦克,这个技术是⽐较简单的。但⾃⼰的坦克要在函数⾥解
决⾃⼰的是否⽆敌和穿越虚拟的墙。
else if(!wuDi &&myTank.isChuanQ()&&ZiDan.isChuanQ())str ="坦克可穿墙但不⽆敌,⼦弹可穿墙!";
else if(wuDi &&!myTank.isChuanQ()&&ZiDan.isChuanQ())str ="坦克不可穿墙但⽆敌,⼦弹可穿墙!";
else if(wuDi &&myTank.isChuanQ()&&!ZiDan.isChuanQ())str ="坦克可穿墙且⽆敌,⼦弹不可穿墙!";
else if(wuDi &&myTank.isChuanQ()&&ZiDan.isChuanQ())str ="
坦克可穿墙且⽆敌,⼦弹可穿墙!"。
在这⾥我们⾸先对游戏的菜单选择,游戏进⼊和退出做个说明。⼀下包含了游戏的帮助,游戏的退出等游戏⾥的关键内容。
public void paintMenu(Graphics g){//绘制菜单⽅法
g.setFont (Font (Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_LARGE));绘制菜单的主要内容。
g.drawString("新游戏",80,60,Graphics.TOP|Graphics.LEFT);
break;case 80:
g.setColor(255,0,255);
g.drawString ("帮助",80,80,Graphics.TOP|
Graphics.LEFT);
break;case 100:
g.setColor(255,0,255);
g.drawString ("退出",80,100,Graphics.TOP|
Graphics.LEFT);
break;}
下⾯的就是游戏的说明部分,⽤来表明游戏的玩法,这样来让玩家更加快速的上⼿。它还表明了游戏的结束时的玩家成功时候所要消灭的敌对坦克的数量,或者玩家失败时的原因。消灭的敌对坦克和⾃⼰坦克的⽣命在游戏的最上⽅会有显⽰。
g.drawString("游戏说明",75,20,Graphics.TOP|Graphics.LEFT);
g.drawString ("玩家⽣命数为1,敌机数",20,40,
Graphics.TOP|Graphics.LEFT);
g.drawString ("量为10,⽅向键控制坦",20,60,
Graphics.TOP|Graphics.LEFT);
g.drawString ("的移动,累计消灭10辆敌",20,80,
Graphics.TOP|Graphics.LEFT);
g.drawString ("则为玩家胜出,若玩家",20,100,
Graphics.TOP|Graphics.LEFT);
g.drawString ("⽣命数减少到0,则为",20,120,
Graphics.TOP|Graphics.LEFT);
g.drawString ("系统胜出.",20,140,Graphics.TOP|
编程入门看什么书Graphics.LEFT);
g.drawString("返回",
getWidth()-30,getHeight()-30,Graphics.TOP|Graphics.LEFT)
更多的代码和注释不在这⾥做⼀⼀的说明。
4总结
J2ME 是⼀种⽐较适合于⼿机游戏开发的技术,它具有较强的移植性。⽽且他的⼊门⽐较容易,在J2ME ⾥的MIDP2.0可以对⼿机游戏进⾏开发。促进了J2ME 的快速的发展。本⽂通过JAVA 的运⾏平台开发⼀款坦克⼤战⼿机游戏,游戏的开发运⽤了基于J2ME 的关键技术,
实现了坦克游戏的主要功能,体现了J2ME 技术在⼿机游戏开发上的优势和潜⼒。【参考⽂献】
[1]王卉玲,劳汉⽣.基于MIDP2.0的坦克⼤战⼿机游戏的设计[J].经济师,2010
(6):52-53.
[2]詹璇,黄颖,朱梅.基于J2ME 的RPG ⼿机游戏架构设计与技术实现[J].电脑编程技巧与维护,2010(14):67-69.
[3]曹凡,吴⽟.浅析Java 的发展现状与趋势[J].计算机时代,2010(5):10-15.
[4]许彪,王晓东.基于⽂件格式的J2ME 图⽚压缩⽅法研究[J].计算机应⽤与软件,2010,27(4):253-256.
作者简介:张坤龙(1990—),男,合肥学院电⼦信息与电⽓⼯程系通信⼯程专业学⽣。
胡国华(1978—),男,讲师,主要从事电路与系统以及通信⽹络教学与研究。
[责任编辑:王静]
科
●
(上接第103页)慢,如果RSA 和DES 结合使⽤,则正好弥补RSA 的缺点。即DES ⽤于明⽂加密,RSA ⽤于DES 密钥的加密。由于DES 加密速度快,适合加密较长的报⽂;⽽RSA 可解决DES 密钥分配的问题。
2.5.3PGP 是⼀种基于RSA 公钥加密体系的邮件加密软件,提出了公共钥匙或不对称⽂件的加密技术。
3结束语
信息安全问题涉及到国家安全和社会公共安全,世界各国已经认
识到信息安全涉及重⼤国家利益,是互联⽹经济的制⾼点,也是推动互联⽹发展、电⼦政务和电⼦商务的关键,发展信息安全技术是⽬前⾯临的迫切要求,此外,⽹络与信息安全还涉及到其他很多⽅⾯的技术与知识。例如:防⽕墙技术、⼊侵检测技术、病毒防护技术、信息隐藏技术等。因此,⼀个完善的信息安全保障系统,应该根据具体需求对上述安全技术进⾏取舍,如果我们想抢占⽹络利⽤的制⾼点,必须在⽹络安全⽅⾯加⼤⼈⼒和物⼒的投⼊。[责任编辑:吕⼀然]
wps里sumif函数怎么用科
●
○IT 论坛○95
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论