《3d射击游戏》项目需求分析模型


这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/computer-scienc
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/computer-science-class3-2018/homework/11978
这个作业的目标 需求分析
小组组号和队名 15组 好吃又易燃
队长的姓名 张晏子

1.非功能性需求

这是一款第一人称FPS射击游戏。可在Windows,MacOs,Android等多平台下运行。游戏性方面,除了传统的FPS游戏的功能,还增加了更多的随机事件。
程序支持灵活的配置文件,无须依赖数据库

二、功能性需求

1.用例图

2.用例描述

简要描述:
首先程序创建之后,star场景显示,用户可点击开始游戏按钮,此时采用同步加载场景的方法进入游戏场景,由于系统使用单例模式,Game Manager会实例化一个对象。

进入场景后,游戏默认以60帧运行,第一帧系统初始化,角色对象创建,等待用户操作。当用户存档时,将游戏必要数据写入注册表,当用户下次进入游戏时可以读取存档。
当用户要退出时点击结束按钮,可以结束游戏。
————————————————————————————————————————————————————————————
具体用例描述:
用例名称:移动
参与者:玩家
简要说明:玩家控制人物移动,跳跃,跑步,下蹲,转向
前置条件:Actor对象已创建,游戏非暂停状态
基本事件流:
玩家输入指令,Actor接收指令并根据getAxis的值判断当前行为。
1.移动:按下“W”键,系统会得到一个0~1的单精度浮点型变量,玩家按下的时间越长,值越大,系统会将这个值传递给Move类,Move类会根据Actor当前的Vector3每帧刷新一次transfrom,从而实现移动的效果。
2.跳跃:游戏每帧都-=玩家向量Y轴上的分量,并判断是否落地,如果落地则判断是否键入了空格,如果键入则给予Y轴上的分量一个正值。
3.下蹲:每帧判断是否键入了ctrl键,如果键入了则修改角色碰撞器的高度值,并减小移动速度。
其他事件流:无
异常事件流:对象未被创建,角色被卡在墙里
后置条件:角色执行动作
注释:WASD前后左右移动,空格键跳跃,ctrl下蹲,Shift+WASD奔跑,鼠标滑动转向

————————————————————————————————————————————————————————————
用例名称:切换视角
参与者:玩家
简要说明:第一人称和第三人称的视角切换
前置条件:游戏非暂停状态
基本事件流:
每帧检测玩家的指令,若检测到则已Actor为父类,更新摄像头的位置。
其他事件流:无
异常事件流:无
后置条件:视角切换
注释:按“V”键切换

————————————————————————————————————————————————————————————
用例名称:实现UI界面
参与者:玩家
简要说明:系统设置,开始界面,角色状态等的显示
前置条件:
基本事件流:
玩家刚进入程序显示开始界面,进入游戏后角色状态一直显示,玩家按ESC呼出系统设置界面
其他事件流:无
异常事件流:无
后置条件:游戏暂停
注释:开始界面也可以进入系统设置

————————————————————————————————————————————————————————————
用例名称:状态显示
参与者:玩家
简要说明:角色的HP EXP,怪物的HP等的显示
前置条件:角色存在或怪物生成
基本事件流:
每帧都获取到角色和怪物当前的一些属性,并显示在Slider上。
其他事件流:无
异常事件流:无
后置条件:随时显示当前对象的状态
注释:

————————————————————————————————————————————————————————————
用例名称:系统设置
参与者:玩家
简要说明:系统设置
前置条件:
基本事件流:
用户按ESC键打开系统设置,系统设置包含音量设置、鼠标灵敏度、视野范围、帧率、退出按钮,返回按钮等。其中包含Slider、下拉列表框,按钮等一些UI组件。
其他事件流:无
异常事件流:事件未被监听
后置条件:
注释:被设置值为全局变量,且动态保存。

————————————————————————————————————————————————————————————
用例名称:开始界面
参与者:玩家
简要说明:游戏的开始界面
前置条件:打开程序就会显示此界面
基本事件流:
玩家按下开始按钮,会同步加载游戏场景,场景跳转;继续按钮:从上次游戏结束的位置开始;设置:打开系统设置界面;开发人员:显示开发人员名单;退出:结束进程。
其他事件流:无
异常事件流:开始游戏时,未查找到加载的场景
后置条件:
注释:界面都为按钮组件

————————————————————————————————————————————————————————————
用例名称:射击
参与者:玩家
简要说明:射击,换弹,切换武器,创建动画器
前置条件:角色持有武器,物品栏系统正常
基本事件流:
用户选择武器,系统创建一个武器预制件对象的克隆体,克隆体包含子弹子类,用户点击鼠标左键会启用射线检测,同时创建子弹克隆体,子弹会沿着角色当前的Z轴方向发射,同时每按下一次鼠标会启用一个计时器线程,限制子弹发射的速度。
如果射线检测到了怪物,则怪物则减HP。
其他事件流:无
异常事件流:找不到子弹的对象,射线检测没有检测到物体
后置条件:子弹发射,检测到物体
注释:按鼠标左键触发,子弹的轨迹为预设的起点到射线检测到物体的接触点

————————————————————————————————————————————————————————————
用例名称:切换武器
参与者:玩家
简要说明:切换武器
前置条件:角色持有武器,物品栏系统正常
基本事件流:
用户按1234键选择武器,武器图标会在物品栏上显示
其他事件流:无
异常事件流:
后置条件:切换武器
注释:

————————————————————————————————————————————————————————————
用例名称:生成怪物
参与者:玩家
简要说明:游戏生成怪物
前置条件:角色触发生成怪物的事件
基本事件流:
角色触发事件,系统会在角色附近生成怪物。
其他事件流:无
异常事件流:怪物卡在墙里
后置条件:怪物生成并攻击角色
注释:

————————————————————————————————————————————————————————————
用例名称:生成怪物AI
参与者:玩家
简要说明:怪物的行为
前置条件:怪物对象存在
基本事件流:
怪物生成后,每帧都会得到当前角色的空间位置,怪物的Z轴始终朝向角色,怪物会朝向角色移动,怪物靠近角色后会攻击角色,怪物分boss和小怪两大类,boss会随机召唤小怪。怪物死亡后对象被销毁。
其他事件流:无
异常事件流:怪物卡在墙里
后置条件:怪物生成并攻击角色
注释:多种怪物有多种行为

————————————————————————————————————————————————————————————
用例名称:创建动画器
参与者:玩家
简要说明:枪械更复杂的运动
前置条件:枪械对象创建
基本事件流:
枪对象被创建后默认播放持枪动画。射击时播放后座力动画。
其他事件流:无
异常事件流:未查找到动画
后置条件:
注释:用Animation组件创建动画,Animator组件编辑动画逻辑

————————————————————————————————————————————————————————————

3.顺序图



4.分析类图


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM