基于C Sharp语言和Unity软件制作的超级玛丽小游戏

2023-10-30 21:20

本文主要是介绍基于C Sharp语言和Unity软件制作的超级玛丽小游戏,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

资源下载地址:https://download.csdn.net/download/sheziqiong/85707555
资源下载地址:https://download.csdn.net/download/sheziqiong/85707555

1 设计目标

《超级玛丽》是一代人的童年经典游戏,其易于上手的操作和丰富的关卡元素让大家津津乐道,我们组计划用一个小狐狸素材包,制作一个《超级狐狸》,通过一定程度的模仿、复刻来致敬这个经典的游戏。

2 概要设计

2.1 功能实现

该游戏是 2d 的闯关游戏,其实现的是让玩家操控角色(小狐狸)在地图上进行移动、跳跃,然后收集物品和消灭敌人。主要要实现的功能有:

(1)小狐狸的移动和跳跃

(2)敌人的移动

(3)收集物品时计分

(4)暂停游戏,期间能更改游戏设置或退出游戏

(5)小狐狸进行一些动作或触发一些事件时,加入音效。

2.2 功能模块图

3 详细设计

3.1 类图

图中各个类的说明如下:

3.1.1 Scroll:实现地图背景的左右滚动
  • left:确定左边界
  • right:确定右边界
  • distance:左右边界之间的距离
  • Start():在游戏开始时获取边界和距离
  • Update():在游戏运行过程中更新左右边界的坐标,达到背景左右平移的效果。
3.1.2 Shift:实现地图背景的上下滚动
  • up:确定上边界
  • down:确定下边界
  • distance:上下边界之间的距离
  • Start():在游戏开始时获取边界和距离
  • Update():在游戏运行过程中更新上下边界的坐标,达到背景上下平移的效果。
3.1.3 PlayerControllor:操作人物
  • speed:速度
  • jumpForce:跳跃力度
  • isGround:是否在地面
  • isCroch:是否趴下
  • isHurt:是否受伤
  • jumpCount:跳跃次数,实现二段跳
  • cherry:收集的樱桃数目
  • Movement():实现小狐狸移动的函数。
  • Jump():实现小狐狸跳跃的函数。
  • SwitchAnim():切换小狐狸动画表现的函数。
  • OnTriggerEnter2D():判断小狐狸与其他触发器的碰撞,基于此实现收集物品。
  • OnCollisionEnter2D():判断小狐狸与其他碰撞器的碰撞,基于此实现与敌人战斗。
  • Restart():小狐狸死后游戏重置。
3.1.4 SceneManeger:实现场景(关卡)切换
  • Restart():游戏重置,回到主菜单。
  • Next():下一关。
  • Exit():退出游戏。
3.1.5 Audio:播放背景音乐和音效。
  • clip:获取播放的音乐片段。
  • audioSouece:音乐播放器。
  • Play():播放音乐。
  • Destory():停止播放。
3.1.5 Enemy:怪物类
  • anim:获取怪物的动画。
  • Start():开始游戏时播放怪物的动画。
  • Explosion():被消灭时爆炸。
  • Death():被消灭后销毁对象。
3.1.6 Enemy_Frog:青蛙
  • speed:移动速度
  • jumpForce:跳跃力度
  • Movement():实现青蛙边移动边跳跃的函数。
  • AnimSwitch():切换青蛙的动画效果。
3.1.7 Enemy_Eagle:老鹰
  • speed:移动速度
  • Movement():老鹰移动。
3.1.8 Enemy_Eagle:猫
  • speed:移动速度
  • Movement():猫移动。
3.1.9 Item:物品类
  • anim:获取物品的动画
  • Play():游戏开始时播放物品的动画(摇晃或闪烁)。
  • Destory():被获取后销毁对象。
3.1.10 Cherry:樱桃
  • score:樱桃的分数
  • Increase(int):增加分数。
3.1.10 Gem:宝石
  • score:宝石的分数
  • Increase(int):增加分数。

3.2 活动图

3.3 UI 设计

主菜单 UI:

介绍:

  • 开始:点击后开始游戏,进入第一关的场景。
  • 结束:点击后退出游戏

游戏内 UI:

介绍:

  • 左上角记录收集到的樱桃和宝石数目
  • || :暂停按钮,点击后游戏暂停,然后弹出返回主菜单或是继续游戏的窗口
  • X :退出按钮,退出游戏。
    资源下载地址:https://download.csdn.net/download/sheziqiong/85707555
    资源下载地址:https://download.csdn.net/download/sheziqiong/85707555

这篇关于基于C Sharp语言和Unity软件制作的超级玛丽小游戏的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/310674

相关文章

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

C语言逗号运算符和逗号表达式的使用小结

《C语言逗号运算符和逗号表达式的使用小结》本文详细介绍了C语言中的逗号运算符和逗号表达式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 在C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接其一般形式为:表达

Go语言实现桥接模式

《Go语言实现桥接模式》桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化,本文就来介绍一下了Go语言实现桥接模式,感兴趣的可以了解一下... 目录简介核心概念为什么使用桥接模式?应用场景案例分析步骤一:定义实现接口步骤二:创建具体实现类步骤三:定义抽象类步骤四:创建扩展抽象类步

GO语言实现串口简单通讯

《GO语言实现串口简单通讯》本文分享了使用Go语言进行串口通讯的实践过程,详细介绍了串口配置、数据发送与接收的代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录背景串口通讯代码代码块分解解析完整代码运行结果背景最近再学习 go 语言,在某宝用5块钱买了个

GO语言zap日志库理解和使用方法示例

《GO语言zap日志库理解和使用方法示例》Zap是一个高性能、结构化日志库,专为Go语言设计,它由Uber开源,并且在Go社区中非常受欢迎,:本文主要介绍GO语言zap日志库理解和使用方法的相关资... 目录1. zap日志库介绍2.安装zap库3.配置日志记录器3.1 Logger3.2 Sugared

Go语言中如何进行数据库查询操作

《Go语言中如何进行数据库查询操作》在Go语言中,与数据库交互通常通过使用数据库驱动来实现,Go语言支持多种数据库,如MySQL、PostgreSQL、SQLite等,每种数据库都有其对应的官方或第三... 查询函数QueryRow和Query详细对比特性QueryRowQuery返回值数量1个:*sql

GO语言中gox交叉编译的实现

《GO语言中gox交叉编译的实现》本文主要介绍了GO语言中gox交叉编译的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、安装二、使用三、遇到的问题1、开启CGO2、修改环境变量最近在工作中使用GO语言进行编码开发,因

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

python语言中的常用容器(集合)示例详解

《python语言中的常用容器(集合)示例详解》Python集合是一种无序且不重复的数据容器,它可以存储任意类型的对象,包括数字、字符串、元组等,下面:本文主要介绍python语言中常用容器(集合... 目录1.核心内置容器1. 列表2. 元组3. 集合4. 冻结集合5. 字典2.collections模块