超级玛丽/超级马里奥

MySuperMario----2D复刻之旅,缅怀童年时光

超级玛丽/超级马里奥

你好!欢迎浏览我的博客!超级玛丽是一款非常经典的2D游戏,今天我将代领大家学习如何从小白开始,用unity一步一步复刻这一经典。

一、开发工具准备

  1. unity2017以上版本 ,我制作的时候用的unity2018.1.0版本;
    下载链接: unity发行版本.
  2. 任何支持c#编程语言的集成开发环境 ,我使用的是visual studio2015;
  3. 搭建游戏的素材 ,这里我直接将做好的素材分享给大家,其中包括 游戏背景地图,相关人物设置,背景音乐 等。不过有兴趣的同学可以去爱给网上下载自己喜欢的素材,然后搭建自己喜欢的游戏素材;
    素材链接:https://pan.baidu.com/s/16Kj96XLQ77gEtH1-r8KsHw 提取码: 2333

二、项目进展

1、场景布置:

  • 游戏界面地图初始化
    在这里插入图片描述
  • 第一关卡最终场景布置
    在这里插入图片描述
  • 游戏音效
    在这里插入图片描述
  • [x]素材图片
    在这里插入图片描述
  • 动态效果

超级玛丽

2、基本角色及相关功能介绍:
马里奥:
*能够左右行走、跑步、跳跃;
*能够通过吃金币得分;
*马里奥吃到蘑菇会变大,拥有二次生命;
*顶碎砖块开辟道路;
*与敌人正面碰撞或者掉入深渊会死亡;

敌人:
*能够左右行走
*能够和马里奥大叔交互
*死亡消失

3、登录注册界面
在这里插入图片描述
在这里插入图片描述
4、开始结束界面
开始
结束
5、场景之间的跳转
可以把现阶段所以的场景合起来,实现每个不同场景之间的切换。
6、隐形关卡(增加难度)
马里奥从第一关卡某个管道进入这个挑战关卡,关卡隐形。
在这里插入图片描述
7、第二关卡基本地图设计完成
在这里插入图片描述
8、第三阶段基本地图设计完成
在这里插入图片描述

三、项目基本功能架构和功能流程图示

1、基本功能架构
在这里插入图片描述
2、相关类介绍及关联
在这里插入图片描述
designed by Modelio Open Source 4.0

下一步计划

  • 这一周把第所有关卡设计好

  • 第十五周综合测试所有关卡、维护项目

  • 第十五完善所有的设计文档,并细化制作细节

  • 第十六周报告展示

点击下方链接,访问我们的github

链接: https://github.com/CAdom/MySuperMario.

目前项目提交情况:
在这里插入图片描述
##关键代码展示

音频控制器.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class AudioManager : MonoBehaviour
{
   
    GameObject obj;
    AudioSource bgmPlayer;
    AudioSource sePlayer;

    //单例模式
    public static AudioManager Instance;//声明当前类静态实例
    private void Awake()
    {
   
        Instance = this;//this就代表当前这个类
    }

    void Start ()
    {
   
        obj = GameObject.Find("AudioPlayer");
        bgmPlayer = obj.GetComponent<AudioSource>();
        sePlayer = obj.GetComponent<AudioSource>();
    }

    public void PlayMusic(string name)
    {
   
        AudioClip clip = Resources.Load<AudioClip>("Audios/" + name);//加载音乐片段
        bgmPlayer.clip = clip;//切换音乐
        bgmPlayer.Play();//播放新的音乐
    }

    public void StopMusic()
    {
   
        bgmPlayer.Stop();
    }

    public void PlaySound(string name)
    {
   
        AudioClip clip = Resources.Load<AudioClip>("Audios/" + name);//加载特效片段
        sePlayer.PlayOneShot(clip);//播放加载的音频
    }
}

相机控制器.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraControl : MonoBehaviour
{
   
    float minX;
    float maxX;
    public static Transform mario;

    void Start()
    {
   
        minX = -16;
        maxX = 16;
        mario = GameObject.Find(PlayerControl.wanjia).transform;
    }

    void Update()
    {
   
        //mario = GameObject.Find(PlayerControl.wanjia).transform;
        Vector3 pos = transform.position;//获取相机当前的位置
        pos.x = mario.position.x;//更改位置的X轴的位置
        if (pos.x > maxX)
        {
   
            pos.x = maxX;
        }
        if (pos.x < minX)
        {
   
            pos.x = minX;
        }

        transform.position = pos
  • 16
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值