蓝色理想
pages.think
加入收藏
 栏目导航: 新闻 | 试用手记 | 评测报告 | 经验及技巧 | 资料大全 | 铃声与短信
 您现在位置:首页 < 移动通讯 < 经验及技巧 < Java游戏编程初步
Java游戏编程初步

日期:2004-12-5 1:27:02 作者:Java也疯狂 文档类型:原创 来自:蓝色理想数码站
浏览统计: 总计数76698 | 年计数8252 | 季计数1738 | 月计数110 | 周计数119 | 日计数4

  第一个游戏-"保卫者"

  主线思路:

  真正做自己的游戏是总是很兴奋。在开始任何事情之前,我们都要有个好的设计,游戏更不例外。下面我们就以上面的例子为本。设计一个”保卫者”的游戏。游戏思路本身很简单,从屏幕的顶端不断的有炸弹落下来,而我们这些”保卫者” 要在它们着地之前,用鼠标点击让它反弹回去,不让它落到地面上来,但是球在上升过程中我们也要注意不让它撞到顶上。如果撞到顶上或地画,你的生命点数都会减少。每点中一个炸弹你的分数就会增加。当你的生命点数为零。”Game Over”。

  设计结构:

  1.模块设计:

  游戏的结构很简单,由三个模块组成。

  Denfen类:Denfen类控制整个游戏主线程,初始化炸弹类,并绘制屏幕上的炸弹数量及处理炸弹的移动,并监听鼠标事件

  Bomb类:主要是判断炸弹的速度,方向,是否撞到地面和点击事件

  Denfense类:主要用来处理游戏者的记分和生命点数

  2.方法实现:

  Denfen:

  init(): 初始化所有对象,包括声音文件的加载,Bomb类的生成

  run(): 处理炸弹的下降运动

  paint(...):绘制炸弹及相关的数据记录显示

  update(...): 实现屏幕图像的双缓冲,消除闪烁

  mouseProcess (...): 利用mouseEvent事件监听来处理鼠标按下事件,并根据鼠标当时的x坐标和y坐标判断是否点中炸弹。

  addBomb():利用默认值来动态实现bomb的生成,这里我们利用了数组来记录的。默认值是3,大家可依据自己的爱好增加或减少记录。

  Denfenser:

  Score:积分

  Life:生命点

  AddScore():增加游戏者的积分

  Death():减少游戏者的生命点数

  getScore():获得当前的积分数

  getLife():获得当前的生命点数

  Bomb:

  Bomb(...): 构造函数,初始化炸弹的位置,声音,颜色等相关变量的值.

  down():处理bomb的下降

  isRebound ():反向回弹炸弹的方向,并根据积分来加快炸弹的下降速度

  userHit (int x, int y):游戏者是否点中炸弹。

  wasHitEarth(): 判断炸弹是否撞击到地面或顶面,如果是生命点将减少。

  DrawBomb(Graphics g): 绘制Bomb图象。

  3.工作原理:

  首先我们在init()方法中加载所有游戏必要的资源,包括声音,鼠标事件的监听、背景等相关设置。利用addBomb()方法增加bomb的数量、初始位置及初始化颜色。再利用start()启动线程。线程调用run()方法,处理炸弹下降运动down()。Repaint()会在每一个单位时间调用paint()方法不断的刷新屏幕,paint()调用Bomb.addBomb()绘制炸弹。当游戏者按下鼠标,mousePress()事件激活,判断是否点中了炸弹。如果点中addScore()自动加1分。如果没有点中炸弹,炸弹继续下降,当撞到屏幕wasHitEarth()方法激活,其内调用death()方法,减少Denfenser.life生命点,同时audio.play()处理声音的播放,用以提示游戏者。当你的生命点数小于0时”Game Over”。

  这个游戏并不是很完善。下面提到一些改进方法,大家可以动手试试。做出适合自己的游戏风格来。具体的源代码及实现过程请大家从这里下载.

  4.游戏的改进:

  背景的替换,本例的背景用的是函数setBackground(),大家可用相应的图形来代替。

  炸弹数量的增加,为了减少复杂度,例子用到的炸弹数量是固定值3,我们可根据积分的多少,在游戏中动态的增加炸弹的数量。

  等级的设置,本游戏中没有等级的功能。如果大家在游戏中加入等级,依据不同的等级不断的变换游戏的模式,这将是很有意思的过程。

  模式改变。我们可以在游戏中实现自己的模式。如消灭炸弹。点一个炸弹,就让炸弹从屏幕上消灭。

  我们还可以增加一个游戏者,加大游戏的可玩性。增加键盘的处理功能。加大游戏的灵活性。

  还有很多很多的处理和玩法,这都等着你去发掘。相信java 游戏编程将会是一个很有意思的学习过程。

  出处:蓝色理想数码站
责任编辑:
冰点的冰蓝色
上一页 鼠标状态处理 下一页 附录:缓冲机制
Page : 1 2 3 4 5 6 7 8 9 10 
相关文章:
· Java手机游戏编程之MIDP图形设计篇
· z608自己制作JAVA电子书
· 制作NEC JAVA电子书
· 用好手机的Java
· Java自制手机联网游戏

蓝色理想数码站版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,相关评测,如需使用,请与原作者联系,版权归原作者所有

推荐文档】【发表评论】【关闭窗口
· 谈音质标准与音质评价方法
· MP3维修知识经验总结
· 数码相机简易自制立体影像
· 数码照片拍摄用光经验谈
· 手机游戏下载完全实用攻略
· SP智能手机使用IA资源管理器快捷键汇总
· 了解智能手机的操作系统们

· 手机游戏下载完全实用攻略
· SP智能手机使用IA资源管理器快捷键汇总
· 了解智能手机的操作系统们
· 免费WAP风起云涌 移动未来谁主?
· [香港] 结束等待!索爱Z800i行货正式开卖
· 小心你的手机也中毒!
· 手机常见九大故障自我排除法
· 16个手机相关名词释疑
· 主流无线传输技术GPRS与CDMA对比
· GPRS服务详细介绍

版权隐私 | 关于我们 | 项目合作 | 联系我们 | 受众分析 | 更多链接 | 网站地图

2004 digi.blueidea.com All rights reserved 京ICP备05002321号