
♻️ 资源大小992KB➡️资源下载https://download.csdn.net/download/s1t16/87450304基于C#制作的平衡球游戏需求分析与概要设计项目说明平衡球是我们小时候玩的一款经典游戏再加上最近在 b 站刷到了大佬玩平衡球的视频我们小组决定用 c#和 unity 实现这款游戏也作为我们用 unity 实现的第一个项目。项目目标在主菜单界面可以选择不同的关卡进行挑战同时还有背景音乐。开始挑战后玩家要在限定时间内控制小球收集完全部金币并抵达终点。其中地图上会有不同功能的板例如循环移动的木板上升踏板传送板还有会发射导弹的 npc 等。循环移动的木板该木板会按照固定的路径循环移动。上升踏板小球接触到该踏板后会受到一个向上的力使小球腾空。传送板小球接触到该传送板后会被传送到另一个传送板旁边。会发射导弹的 npc小球会被 npc 发射的导弹击退甚至击飞。若在挑战期间掉落或超时则失败。软硬件环境需求Visual Studio 写主体代码。Unity 负责前端相关模型的导入以及最后生成文件。使用的关键技术平衡球的实现主要要完成以下四点。小球控制创建 Player 脚本Input.GetKey(KeyCode.W);添加四个判断wasd小球具有加速度同时用鼠标控制小球运动的视角使运动更真实。相机跟随创建 Camera follow 脚本相机始终在小球的后方相差一个固定的值。同时也创建了 Camera look 脚本相机会跟随鼠标的移动转变视角。制作道具游戏的魅力在于就是有各种各样的关卡和道具。本游戏中制作了循环移动的木板上升踏板传送板等道具。掉落判定球心与边缘位置距离超出设定值即可。需求分析系统用例玩家用键盘 wasd 控制小球的运动用鼠标控制小球的视角。业务流程功能模块设计界面切换在菜单界面内不采用 2D 普通界面而是在 3D 空间内在 4 方位的空中展示菜单通过镜头视角的转换完成菜单界面的切换。菜单界面与游戏场景的切换仍是不同 scenes 之间的切换传送门关卡内传送门、关卡间传送门即胜利门关卡内传送门需记录两两传送门之间的对应关系通过方位的记录完成传送。关卡间传送门直接变化 scenes主要需要胜利条件判定金币的拾取小球移动小球移动的操作难度是游戏难度的主要决定因素操作过于简单一是不符合“平衡球”的游戏设定。小球的移动方向通过获取键盘输入 WASD 来控制利用 unity 物理引擎朝键盘输入指示方向施加力。镜头跟随、移动在菜单界面中镜头位置固定在场景中间镜头方位有 4 个可动变化。在游戏场景中镜头固定在平衡球的后上方使镜头位置始终等于小球位置加上某一个偏移量镜头朝向可随着鼠标移动改变将鼠标移动的画面帧数通过公式计算出视角的移动角度。NPC、跟踪子弹NPC 在地图的两个位置反复移动朝平衡球发射子弹。NPC 子弹在发射时首先获取平衡球坐标通过公式计算出发射位置和小球之间的角度并向其发射。随后每空相同的时间间隔获取一次小球的位置并以与子弹发射类似的方法使子弹略微偏向平衡球位置后续根据反复实验找到合适的时间间隔与偏移角度使子弹的转向不会因为小球移动过快而十分突兀同时不会出现子弹掉头等夸张机动移动地板地板移动在两点之间移动进行加速匀速减速 3 过程此移动与小球移动一样只是其移动方向固定。金币触碰触发使金币数 1与最终胜利条件有关核心类图界面设计