103
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2501_CS_SE_FZU |
|---|---|
| 这个作业要求在哪里 | 团队作业第二次——原型设计与需求分析 |
| 团队名称 | ddl战士 |
| 这个作业的目标 | 需求分析、基本框架 |
| 其他参考文献 | 《Unity 2D 游戏开发实例教程》、《需求规格说明书》 |

角色移动平滑性与精度控制
关键点:代码中实现了加速度、减速度、空中速度衰减、立即变向等机制,需平衡移动手感与物理真实性。
难点:
不同状态(地面 / 空中 / 跳跃)下的速度切换容易出现卡顿或突变(如CalculateNewVelocity中处理变向时的阈值和冷却时间调试)。
空中速度保持(preserveAirSpeed)与落地过渡(landingTransition)的参数配合,需避免落地时速度突变导致的僵硬感。
多射线检测地面和墙壁(CheckGround、IsWallAhead)的精度问题,射线数量、距离参数设置不当可能导致角色 "浮空" 或 "穿墙"。
跳跃机制的复杂性
关键点:集成了跳跃缓冲(jumpBuffer)、土狼时间(coyoteTime)、双跳、跳跃方向锁定等功能,提升操作容错性。
难点:
跳跃缓冲与土狼时间的计时器同步(UpdateTimers),需精确控制时间窗口避免 "跳不起来" 或 "无限跳" 的 bug。
双跳状态管理(doubleJumpUsed)与落地检测(OnLanding)的联动,可能因落地判定延迟导致双跳状态重置异常。
跳跃方向锁定(lockJumpDirection)与空中输入的冲突,需处理锁定时间内的输入优先级(如CalculatePriorityInput中的逻辑)。
碰撞与穿模问题
关键点:使用连续碰撞检测(CollisionDetectionMode2D.Continuous)、预测性碰撞(PredictWallCollision)和速度限制(LimitVelocity)防止穿模。
难点:
高速移动时(如冲刺技能),即使启用连续碰撞检测,仍可能因物理更新频率(FixedUpdate)导致穿模,需调试maxSafeSpeed和collisionPredictionTime。
角落卡住检测(IsStuckInCorner)的误判,例如角色正常贴墙移动时被误判为 "卡住",需优化stuckCheckDistance和stuckThreshold参数。
攻击判定与伤害计算
关键点:通过碰撞体检测(OverlapSphere)判定攻击范围,区分物理攻击和元素攻击的伤害计算(CalculateDamage)。
难点:
攻击范围(attackRadius)与角色动画的匹配,可能出现 "视觉未命中但实际判定命中" 的问题,需微调碰撞体大小与位置(attackPoint)。
元素效果(ApplyElementEffect)的概率触发(elementalEffectChance)与持续时间(如fireDamageDuration),需平衡随机性与战斗节奏。
攻击与移动的状态冲突
关键点:攻击动作(PerformAttack)与角色移动(HandleMovement)需互斥或优先级控制(代码中暂未体现,属于潜在需求)。
难点:
攻击硬直期间的移动锁定逻辑,若未处理可能导致 "边打边跑" 的不合理状态。
攻击冷却(attackCooldown)与输入响应的延迟,需避免连续输入导致的攻击判定异常。
复杂状态的同步与切换
关键点:角色状态(跳跃 / 落地 / 空中 / 卡住等)通过多个布尔变量(isGrounded、isJumping、isLandingTransition)和计时器管理。
难点:
状态切换的边界条件处理,例如从 "空中" 到 "落地" 的瞬间(OnLanding)需同步重置空中速度(preservedAirSpeed)和双跳状态,遗漏可能导致逻辑错误。
多状态叠加时的优先级判定(如 "跳跃中" 同时 "检测到墙壁"),需明确状态间的互斥关系。
调试与可视化
关键点:通过OnDrawGizmosSelected绘制射线、检测范围和状态标识(如土狼时间用黄色立方体、跳跃状态用青色球体)。
难点:
调试信息的冗余或缺失(代码中大量使用Debug.Log),需区分开发环境与生产环境的日志输出。
复杂状态的可视化标识(如isStopping、inputChanged)需直观反映当前逻辑,否则难以定位问题。
参数调优的复杂性
关键点:角色移动和跳跃涉及大量可配置参数(如accel、jumpForce、coyoteTime),攻击系统也有伤害系数、元素概率等参数。
难点:
参数间的关联性强(如airAccelerationMultiplier与preserveAirSpeed共同影响空中手感),调整一个参数可能引发连锁反应,需系统性测试。
不同角色或敌人的参数差异化配置,需设计可复用的参数管理系统(当前代码为硬编码,扩展性较弱)。
功能扩展的兼容性
关键点:预留了技能系统(dashKey、skill1Key)和元素效果(火 / 风 / 冰 / 雷)的扩展空间。
难点:
新功能(如冲刺、技能)与现有移动逻辑的冲突(如冲刺时是否忽略碰撞检测),需重构状态管理逻辑以支持扩展。
元素效果的叠加或交互(如 "冰冻" 与 "燃烧" 的互斥),需设计更灵活的效果管理系统(当前ApplyElementEffect为简单分支逻辑)。
| 学号 | 姓名 | 工作内容 | 贡献度 |
|---|---|---|---|
| 102300215 | 陈志豪 | 分配任务、测试、写博客 | 16 |
| 052301144 | 汪涛 | 角色模块、写需求规格说明书 | 18 |
| 102300216 | 胡定赟 | ui界面 | 17 |
| 052301348 | 阮航宇 | 地图模块 | 17 |
| 092300125 | 张天荣 | 攻击/受击模块、需求分析评审表 | 16 |
| 222200327 | 莫馥玮 | 界面原型设计、界面原型设计答辩ppt、需求分析报告ppt、界面原型设计评审表、课堂讲述 | 16 |
使用qq群聊口头讨论效率高,10秒可拍板,群文件搜索“日期+关键词”就能翻出早期原型截图,群文件上限3 GB, PSD、Unity大包一键扔


代码diff、review、CI自动化检查,版本树一目了然,Releases一键打包Tag,附zip+checksum,下载方便
