龙云尧个人博客,转载请注明出处。
CSDN地址:http://blog.csdn.net/michael753951/article/details/75073755
个人blog地址:http://yaoyl.cn/huan-jing-da-jian-san/
移动场景的环境搭建
需要移动的场景主要集中在公路,草坪,楼房和障碍物.下面我将逐一实现它们的移动.
公路以及草坪的移动
公路的移动较为简单,还记得我们在第一节中那个run_len变量么,在这里我们将使用它进行操作,已达到移动的效果.代码如下:
/* 开始进行场景移动 */
go_ahead_rate += go_ahead_ac;
/* 防止速度过快 */
if(go_ahead_rate >= run_len_max) go_ahead_rate = run_len_max;
if(go_ahead_rate <= run_len_min) go_ahead_rate = run_len_min;
run_len += go_ahead_rate;
// 小孩的速度恒定
//child_run_len += 0.1f;
if(run_len >= 4.0f){
run_len = 0.0f;
}
其中go_ahead_rate是一个步进长度,go_ahead_ac是步进加速度,用来模拟车辆的加速减速过程,以免车辆的加减速太过突然而失真.run_len_max用来限制车速的上下界.最后的if判断是为了当车辆运行到一块道路的边界的时候,将run_len归0模拟到