Java项目——TomJerry Jump Game跑酷游戏
猫和老鼠跑酷游戏
- 开发背景
- 模块设计
- 人物类
- 背景图片
- 障碍类
- 关键模块
- 碰撞测试
- 键盘监听
- 计分器成绩框
- 音效设计
- 实现效果
- 缺点和问题
- 附录源代码
开发背景
模拟Google浏览器中离线小恐龙跑酷游戏,设置的猫和老鼠跑酷游戏。用户按空格键控制Jerry向前奔跑,Tom在后面追赶,躲避沿途中Tom设置的障碍(老鼠夹和叉子),跑的越远,得分就越高。通过Java语言完成这款小游戏。
模块设计
人物类
利用刷新帧,是游戏中的物体运动起来。
背景图片
利用两张图进行滚动,使跑酷效果更加逼真。
设置滚动速度,让两张图交替向左移动。
roll()方法就是让背景持续滚动,该方法交给游戏面板调用,每帧都让背景滚动一次。只需让两张图片的横坐标不断递减,当任何一张图片移除画面后,即立刻回到右侧最开始的地方,准备下一轮滚动。
障碍类
调用Random()函数随机创建障碍物。当jerry跳跃过障碍物,设置障碍物删除,减轻程序计算压力。
关键模块
碰撞测试
java.awt.Rectang类提供intersects(Rectangle r)方法来判断两个边界是否发生了交汇。
键盘监听
把键盘监听事件添加到主窗体对象中
计分器成绩框
计分器用一个静态的整型数组记录前三名的成绩,当打破纪录,会立即更新数组的数据。
音效设计
利用Java jdk中自带的javax.sound.sampled包中的相关类别,输入音乐流实现播放声音效果。使用的音乐文件均为WAVE格式。
实现效果
缺点和问题
- 跳跃速度有点迟缓,不够敏锐。
- 障碍物和背景图色彩相似,难以察觉。
- 弹出成绩框,不能删除界面,要重新开始才可以删除界面
- 项目相对简单
附录源代码
JumpGame
Java项目——TomJerry Jump Game跑酷游戏相关推荐
- java项目---全民飞机大战小游戏
项目素材下载地址:https://download.csdn.net/download/m0_51152186/83604685 源码地址:https://download.csdn.net/down ...
- Java 项目案例 1、大富翁游戏系统
项目案例: 大富翁游戏系统 功能: 有注册功能,登陆功能,抽奖功能,查询功能,修改密码功能,删除账号功能,退出功能 思路: 需要建立一个用户类,每次新建注册用户时new一下即可. 需要建立一个管理类 ...
- Java项目你们期待的热门游戏-王者荣耀
相信很多小伙伴都玩游戏,而对于王者荣耀大家更是不陌生了.虽然王者荣耀在网上的不评论很不好,但是大多数还是逃不过真香定律,边吐槽边玩. 人类已经很难阻止<王者荣耀>前进的步伐了,进入2017 ...
- java 五子棋项目_Java项目如何实现五子棋小游戏
Java项目如何实现五子棋小游戏 发布时间:2020-07-21 14:53:06 来源:亿速云 阅读:77 作者:小猪 小编这次要给大家分享的是Java项目如何实现五子棋小游戏,文章内容丰富,感兴趣 ...
- java基础入门-16-【阶段项目(综合练习doudizhu游戏)】
Java基础入门-16-[阶段项目(综合练习&doudizhu游戏)] 25.阶段项目(综合练习&doudizhu游戏) 斗地主小游戏 斗地主游戏1(控制台版) 步骤一:准备牌 步骤二 ...
- 【java项目】全程无水分,Java老师带你实践,教你一小时做出java坦克大战游戏
游戏介绍: 保留了射击类游戏的操作性,也改进了射击类游戏太过于复杂难玩的高门槛特点,集休闲与竞技于一身.经典再度袭来,流畅的画面,疯狂的战斗,让玩家再次进入疯狂坦克的世界.玩家的目标是控制坦克躲避危险 ...
- java项目2小时写出黄金矿工经典小游戏
视频讲解链接[Java项目]2小时轻松做出Java黄金矿工小游戏!手把手教你java开发_java初级项目http://视频讲解链接1.项目介绍 黄金矿工是一款经典益智类小游戏.该游戏中,玩家需要在规 ...
- 项目实训(九)——跑酷游戏金币的制作和拾取
一.前言 我与另外两个组员制作了项目的其中一个单机游戏,类型是2D横屏跑酷游戏.游戏中的角色可以在跳跃与奔跑的过程中收集金币,能够很好地考验和锻炼玩家的反应能力和观察能力.玩家坚持得越久.收集到的金币 ...
- 【java项目】仅需俩小时教你学会自己用java做出自己的“黄金矿工’’游戏
游戏介绍: 黄金矿工是我们童年都玩过的游戏,非常的好玩,可以单人或者双人一起利用钩爪来获得地下的金子,但是难度也是相当的大.前几关看似非常的简单,但是却机关重重,此款小游戏可以在网站上打开,也可以下载 ...
最新文章
- linux 修改java版本_Linux 有问必答:如何在 Linux 中改变默认的 Java 版本
- 【译】Asp.net MVC 利用自定义RouteHandler来防止图片盗链 (转)
- 第一讲 ODE几何方法
- ITK:无写访问权限下遍历具有邻域的图像区域
- android键盘移动光标,在Android键盘上完成键
- 一个对前端模板技术的全面总结
- ubuntu vscode_17. ubuntu设为服务器+vscode远程开发
- sql 计数_SQL不同,SQL计数不同,SQL选择不同
- CSS模拟实现色阶效果
- 浪潮“151计划”:信息安全 没有“偏远地区”
- 没项目经验,这7个前端项目让你脱颖而出
- SAS入门教程2---建立SAS数据集
- 用报初会的照片报计算机,初级会计师照片要求
- c++ 获取文件夹文件并排序
- 教你如何一步一步制作自己的PCB个人LOGO
- train data 和 model bias 对 Mutilayer Perceptrons 的影响
- MYSQL 如何实现重复读
- []575. Distribute Candies
- 窃密软件访问的文件和注册表
- Blender 裙子和大腿穿模的问题
热门文章
- java 是用什么写的_java里的jvm是用什么语言写的
- Centos之Gerrit邮箱配置-yellowcong
- [Activiti] UEL 统一表达式语言 (任务节点 Assignee 通过变量获取)
- 隔空看脸网恋照妖镜源码-邀请视频通话版,带搭建说明
- Python编程基础:鸡兔同笼问题。假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只。
- The GridView 'gv ' fired event RowEditing which wasn 't handled.
- [予纯 · 星火 - 3] 数学与女孩最佳穿着
- 深入解析DOM树的加载
- java语言 获取本机的ip地址
- mysql打开表_查看mysql中的表,以及操作