Unity 实现类似 QQ泡泡堂一样平滑行走的 基于Tile的移动算法

本文介绍了如何在Unity中实现类似QQ泡泡堂游戏中角色平滑行走的移动算法。通过分析游戏机制,作者指出在角色未达到中点但已迈入下一个格子时进行操作补正,确保移动的平滑性。关键点包括:确定master_stand_on和slave_stand_on格子,中点判断,修正方向计算,以及中心点事件的处理。该算法适用于需要精细控制角色移动的游戏开发。
摘要由CSDN通过智能技术生成

最近被策划要求,实现平滑行走的炸弹人移动。


参考:http://www.7k7k.com/swf/129418.htm


我不是给这厮做广告,也不觉得这东西好玩,只是研究这算法还算好玩。一开始我做的时候,走进了一个误区,要炸弹人走到离中心线很近的距离,才可以转弯,然后做位置矫正,结果移动不平滑,很生硬。


后来看了人家游戏怎么做的(小策划一直不肯给我看这个,是不是怕被我知道山寨目标呢?嘿嘿嘿)

发现原来还有更好的解决方案,那就是,当人物未达到中点,但是已经迈到下一个格子的时候,做操作补正,如图所示。




旧的思路是只有玩家在接近中线时才可以转弯,这明显很难做到,参考了人家游戏的做法之后,我开始了反向工程(山寨算法),花了大约一天时间,研究明白了其中的道理。

如图,当玩家中点在路1的时候,肯定是不能右转的,因为灰色障碍挡住了玩家的路线,而当玩家中点在路2时候,允许转弯,但是明显,不能让玩家脑袋

插在墙里移动,因此必须先修正方向&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值