您的位置 首页 java

程序员大神教你用Java开发超级马里奥,超简单让同行甘拜下风!

提及Java,很多人都会问Java开发做过哪些游戏啊,怎么都没听说过呢,那么今天小编就为大家分享下,它都开发过哪些经典游戏吧!Java不仅开发过电脑端的游戏,手游也有开发过,经典的游戏有很多,比如《 我的世界 》、《吃豆》等等,今天小编想为大家分享一个用Java开发的经典游戏《超级马里奥》。

程序员大神教你用Java开发超级马里奥,超简单让同行甘拜下风!

《超级马里奥》任天堂公司开发的著名横版过关游戏,是电子游戏历史上销量最大的系列游戏之一,早在 任天堂 的红白机时代就名声在外了,这个游戏几乎移植到了所有的任天堂游戏机,也包括电脑和手机。

小编整理了一份java学习资料,私信回复【01】,获取源码。

程序员大神教你用Java开发超级马里奥,超简单让同行甘拜下风!

首先小编来介绍一下游戏的基本功能

1、人物向左向右行走(键盘监听)

2、人物跳跃

3、人物发射子弹

4、人物检测和障碍物之间的碰撞

5、背景图片的移动

其次看看游戏的运行界面

程序员大神教你用Java开发超级马里奥,超简单让同行甘拜下风!

三、游戏大致实现思路:

1.窗体

2.自己角色的添加

3.背景图片的添加

4.背景图片的移动

5.人物的移动和跳跃

6.砖头、水管等等障碍物的添加

7.任务和障碍物的碰撞

难点分析:

1.人物的多键控制

1)给人物设定方向 boolean 变量:向左、向右、向上、向下

2)通过键盘监听来修改方向的变量值

按下某个键的时候,我们把相应方向改为true,释放的时候改false

2.地图配置

自定义文件读取方式实现:文件流的使用和 字符串 String类的方法调用

3.碰撞检测

封装一个Rectangle类的对象

4.子弹添加

1)先定义一个容器,这个用于封装所有的子弹对象

2)按下某个键的时候,创建一个子弹对象(以角色的坐标为基准初始化)

3)把子弹对象添加到容器当中

4)在paint方法中,遍历容器,取出子弹对象并进行绘制

5)检测子弹如果超出了窗体边界,则需要把当前子弹从容器当中移除掉

四、程序源代码:

代码结构图:分了三个包、敌人类包、游戏界面类包、游戏地图配置包

五、项目总结:

看似是个小项目,其实里面有很多功能也是需要去认真思考的,开发游戏首先不要觉得他有多难,我们应该先构建一个思路。

每款游戏都有它特定的地图,地图都很炫酷,首先通过文件输入流将文件数据读入,将字符转换为数字,并存储在二维数组中,后面,通过遍历二维数组的不同位置的值,在相应的格子填充相应的障碍物;地图就这样配置好了;当游戏人物在窗体走的时候,觉得一直是人在走,其实,人物走到中间或者走到某一位置的时候,人物已经是在原地踏步了,取而代之的是背后那张长度很长的背景的图片在移动,任务的左右移动相对而言比较简答实现,跳跃功能就不是那么简单了,需要永达线程,跟后面障碍物碰撞检测又有关系,当没有碰到的时候,人物要往下掉,一不注意就会出现各种bug,比如,可以一直跳,在跳的同时还能再跳,还有就是下降可能不会落地面的同一高度,可能会高于地面的高度,可能会低于地面的高度;障碍物的添加,我们是通过配置地图的方式,配置地图有时通过读入文件的操作,大致的原理是将后面的那张的背景图片划分成很多的小格子,将这些小格子用代码转换为二位数组,二维数组可以存入不同数字,代表不同的障碍物,通过操作文件就可以轻易配置地图;

声明:本文内容来源于网络,如有侵权请联系删除

文章来源:智云一二三科技

文章标题:程序员大神教你用Java开发超级马里奥,超简单让同行甘拜下风!

文章地址:https://www.zhihuclub.com/176716.shtml

关于作者: 智云科技

热门文章

网站地图