最近被策划要求,实现平滑行走的炸弹人移动。
参考:http://www.7k7k.com/swf/129418.htm
我不是给这厮做广告,也不觉得这东西好玩,只是研究这算法还算好玩。一开始我做的时候,走进了一个误区,要炸弹人走到离中心线很近的距离,才可以转弯,然后做位置矫正,结果移动不平滑,很生硬。
后来看了人家游戏怎么做的(小策划一直不肯给我看这个,是不是怕被我知道山寨目标呢?嘿嘿嘿)
发现原来还有更好的解决方案,那就是,当人物未达到中点,但是已经迈到下一个格子的时候,做操作补正,如图所示。
旧的思路是只有玩家在接近中线时才可以转弯,这明显很难做到,参考了人家游戏的做法之后,我开始了反向工程(山寨算法),花了大约一天时间,研究明白了其中的道理。
如图,当玩家中点在路1的时候,肯定是不能右转的,因为灰色障碍挡住了玩家的路线,而当玩家中点在路2时候,允许转弯,但是明显,不能让玩家脑袋
插在墙里移动,因此必须先修正方向&#x