跑酷游戏的一些Bug总结
作者:网络转载 发布时间:[ 2016/3/11 14:33:00 ] 推荐标签:软件测试管理 缺陷管理
近把1年前的跑酷游戏demo拿出来重做了一遍,解决了2个之前的遗留bug。
虽然罪魁祸首都是FixedUpdate,但细节又不太一样。这里记录一下
1.点击空格键,角色会跳跃。而有时会跳的比之前高很多(使用Rigidbody.AddForce)
解决:
AddForce之前应该清一下速率,因为是射线检测是否碰到地面,而跳跃后不会立刻离地。
如果不清,后面几帧会累加AddForce
清除速率保证离地的一瞬间肯定是正常Force,而非累加Force
2.有时候接收不到键盘按下的事件
解决:
这个比较奇葩,原因是输入检测写在FixedUpdate里:
void FixedUpdate()
{
if (Input.GetKeyDown(jumpKey))
{
//Magic Bug
}
}
但用GetKey,检测是否处于长按状态又正常
void FixedUpdate()
{
if (Input.GetKey(jumpKey))
{
//Great
}
}
当然,终解决方法是放到Update里去处理,漏检率0。
void Update()
{
if (Input.GetKeyDown(jumpKey))
{
//Great
}
}
可能Unity底层对于GetKeyDown,GetKeyUp之类的方法是延时一帧去处理的,FixedUpdate存在漏帧的情况,因为它是基于秒的
后来我把帧数在后面打出来,像14帧FixedUpdate漏帧了。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11