基于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

相关文章

C语言线程池的常见实现方式详解

《C语言线程池的常见实现方式详解》本文介绍了如何使用C语言实现一个基本的线程池,线程池的实现包括工作线程、任务队列、任务调度、线程池的初始化、任务添加、销毁等步骤,感兴趣的朋友跟随小编一起看看吧... 目录1. 线程池的基本结构2. 线程池的实现步骤3. 线程池的核心数据结构4. 线程池的详细实现4.1 初

Ubuntu 怎么启用 Universe 和 Multiverse 软件源?

《Ubuntu怎么启用Universe和Multiverse软件源?》在Ubuntu中,软件源是用于获取和安装软件的服务器,通过设置和管理软件源,您可以确保系统能够从可靠的来源获取最新的软件... Ubuntu 是一款广受认可且声誉良好的开源操作系统,允许用户通过其庞大的软件包来定制和增强计算体验。这些软件

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

软件设计师备考——计算机系统

学习内容源自「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 目录 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理单元 1.CPU 的功能 1)运算器 2)控制器 RISC && CISC 流水线控制 存储器  Cache 中断 输入输出IO控制方式 程序查询方式 中断驱动方式 直接存储器方式(DMA)  ​编辑 总线 ​编辑

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

免费也能高质量!2024年免费录屏软件深度对比评测

我公司因为客户覆盖面广的原因经常会开远程会议,有时候说的内容比较广需要引用多份的数据,我记录起来有一定难度,所以一般都用录屏工具来记录会议内容。这次我们来一起探索有什么免费录屏工具可以提高我们的工作效率吧。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  录屏软件录屏功能就是本职,这款录屏工具在录屏模式上提供了多种选项,可以选择屏幕录制、窗口

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX