美文网首页石臼墙话板
浅谈超级玛丽制作过程

浅谈超级玛丽制作过程

作者: 李祥祥_19强化班 | 来源:发表于2019-08-14 13:12 被阅读31次

        到现在为止超级玛丽这个游戏已经做了两个多星期了,现在已经基本完成,这中间的过程可谓是无比曲折,自己也调了无数个坑,今天这篇文章就对自己的超级玛丽做一个简单的总结吧。

        在制作刚开始的时候和大多数人一样一头雾水不知道从何写起,于是我从网上找到了一份超级玛丽的残码,用了接近三天的时间将他打出来并进行完善,运行过后发现仍有很多问题,因为是残码,自己也找不到错误在哪于是决定按照这份代码的思路自己写。

        首先写的是游戏框架类,在框架里面进行地图配置,以及主人物与障碍物的绘制,用paint方法绘制人物障碍物以及地图,当然因为地图是在不断移动所以要用双缓冲进行绘制,框架搭建好之后需要自己的框架里有什么东西,然后把他们创造出来。

      首先是我们的主人物mario,先定义他的各种参数如坐标,速度,宽高等,主人物是会通过键盘来实现移动,所以下面就写了人物的移动事件,以及移动事件的按键监听,当然在超级玛丽中会有许多的障碍物以及敌人,所以之后我就写了Mario的和物体之间的碰撞检测,用if语句将碰撞检测加到人物移动事件当中,这时候还有一个很重要的问题,在马里奥行走的时候一般是在地面上的,那么模拟真实生活,要想在地面上而不是飘在空中,就需要加上重力,这就是人物类的大概。人物的绘制我是放在主框架里和障碍物一起绘制的。随后是地图读取,地图读取我用的是输入流来进行获取文件中的数字,用二维数组的方法来读取数字,最后在主框架内设置每一个数字表示的物体,随后只需要在地图写上相应的数字就能在我们的界面中显示出相应的物体。

    然后就是全部障碍物的创建。每一个障碍物都有长宽高,图像,所以我可以先写一个有长宽高图像的父类,让后让每一个障碍物都继承该类,这样可以少写一些代码,所有障碍物类都只需在构造方法里写出他们的形式参数,具体数值在住框架里进行设置。

    随后就是写出游戏开始,死亡,通关的界面。在用if语句进行判断调用即可。碰撞检测的bug比较多最好是让他移动不同的方向有不同的矩形,后面还为游戏加上了一些具体细节,但大致思路就是以上这些。

    相关文章

      网友评论

        本文标题:浅谈超级玛丽制作过程

        本文链接:https://www.haomeiwen.com/subject/dhqgjctx.html