当前位置:网站首页 > 微服务架构 > 正文

微信好玩的代码MC(微信好玩的代码马里奥)



一、游戏基本功能

1、能够向左向右行走(键盘监听)

2、能够跳跃

3、能够发射子弹

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

5、背景图片的移动

二、游戏运行界面



三、游戏大致实现思路:

1.窗体

2.自己角色的添加

3.背景图片的添加

4.背景图片的移动

5.人物的移动和跳跃

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

7.任务和障碍物的碰撞

难点分析:

1.人物的多键控制

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

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

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

2.地图配置

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

3.碰撞检测

封装一个Rectangle类的对象

4.子弹添加

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

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

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

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

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

四、程序源代码:

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


mario包:

主体框架

 

角色类:


 

监听类:

 

背景类:

 

子弹类:

 

主函数类,作为整个程序的入口

 

enery包:

 

金币类:

 

砖头类:

 

水管类:

 
 


util包:


 

五、项目总结:

这个小项目看起来挺简单的,其实里面也有很多功能需要仔细去思考的,以前觉得游戏人物在窗体走的时候,觉得一直是人在走,其实,人物走到中间或者走到某一位置的时候,人物已经是在原地踏步了,取而代之的是背后那张长度很长的背景的图片在移动,任务的左右移动相对而言比较简答实现,跳跃功能就不是那么简单了,需要永达线程,跟后面障碍物碰撞检测又有关系,当没有碰到的时候,人物要往下掉,一不注意就会出现各种bug,比如,可以一直跳,在跳的同时还能再跳,还有就是下降可能不会落地面的同一高度,可能会高于地面的高度,可能会低于地面的高度;障碍物的添加,我们是通过配置地图的方式,配置地图有时通过读入文件的操作,大致的原理是将后面的那张的背景图片划分成很多的小格子,将这些小格子用代码转换为二位数组,二维数组可以存入不同数字,代表不同的障碍物,通过操作文件就可以轻易配置地图;首先通过文件输入流将文件数据读入,将字符转换为数字,并存储在二维数组中,后面,通过遍历二维数组的不同位置的值,在相应的格子填充相应的障碍物;地图就这样配置好了;觉得配地图很炫酷,因为以前有位学长在演示的时候,觉得好难,现在自己掌握了觉得也不是很难了,当然了,这里离不开老师的指导;碰撞检测类似之前小球的碰撞检测,这里主要需要处理碰撞之后的一些逻辑,如何避免一直碰撞(人物贴着障碍物不能动)等;发射子弹的话,也比较简单了,利用容器装子弹,不过需要注意的是要及时将容器中子弹移除,不然内存会很快被吃完的;




写程序,一定要按照思路一步一步来,一点一点来实现!不要太过急于求成!以前老想着自己做一个小东西出来,可是自己总是很急,希望很快做出来,结果,思路没有理清,写起来一团糟!前车之鉴!




好吧,就先写到这吧!共勉之

微笑




到此这篇微信好玩的代码MC(微信好玩的代码马里奥)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 国内github叫什么(github在国内有服务器吗)2025-04-29 18:00:05
  • 微信hook什么意思(微信hook全接口)2025-04-29 18:00:05
  • 个人服务器搭建硬件推荐(个人服务器硬件配置)2025-04-29 18:00:05
  • 腾讯会员怎么给别人用二维码登录微信(手机腾讯会员微信登录怎么给别人用二维码)2025-04-29 18:00:05
  • 微信抽奖小程序制作教程(微信抽奖活动小程序)2025-04-29 18:00:05
  • linux系统 微信(linux系统微信文件打不开)2025-04-29 18:00:05
  • linux有微信么(linux如何使用微信)2025-04-29 18:00:05
  • 微信群接龙小程序制作卖东西(微信群接龙小程序制作卖东西怎么操作)2025-04-29 18:00:05
  • linux 微信 代理(linux怎么运行微信)2025-04-29 18:00:05
  • 微信hook机器人自动登陆(微信机器人 hook)2025-04-29 18:00:05
  • 全屏图片