Cocos2dx 物体按指定轨迹匀速运动 (坐标均距)
最近做了一个类似于airControl的游戏,就是画出一条线让飞机沿着线跑。。。最后着陆。
关于其中的核心代码就是在三个Touch回调中记录手指移动的坐标,然后存入坐标数组,最后让飞机(精灵)按照坐标数组中的线段(前一个点到后一个点)移动(MoveTo),出来就是游戏想要的效果了。
但是在这之间遇到的问题就是由于手指不是按匀速移动,导致每个touch中取到的点之间的距离也不相同,然后飞机跑的时候就会时快时慢,这样出来的效果肯定不好。
思想了一番,我们可以在取点的时候对坐标处理一下,让每个点之间的距离都相同就可以了,以下是效果图,红色是处理之前的,黑色是处理之后(防止重叠,我把线错开了)。
下面上代码。。这是Cocos2d-lua版的
local prePoint = nil
local curPoint = nil --上一个 当前坐标
local m_ptOrbit = {} --坐标数组</