Cocos2dx 物体按指定轨迹匀速运动 (坐标均距)

本文介绍了如何在Cocos2d-x中使物体沿着手指绘制的轨迹匀速移动。通过处理每个触摸点的距离,确保物体在移动时速度一致,避免快慢不均的现象。文章提供了Cocos2d-lua版的实现代码,并讨论了平滑度与处理参数的关系,以及根据距离计算动作持续时间以实现匀速的可能性。
摘要由CSDN通过智能技术生成

Cocos2dx 物体按指定轨迹匀速运动 (坐标均距)

最近做了一个类似于airControl的游戏,就是画出一条线让飞机沿着线跑。。。最后着陆。

关于其中的核心代码就是在三个Touch回调中记录手指移动的坐标,然后存入坐标数组,最后让飞机(精灵)按照坐标数组中的线段(前一个点到后一个点)移动(MoveTo),出来就是游戏想要的效果了。

但是在这之间遇到的问题就是由于手指不是按匀速移动,导致每个touch中取到的点之间的距离也不相同,然后飞机跑的时候就会时快时慢,这样出来的效果肯定不好。

思想了一番,我们可以在取点的时候对坐标处理一下,让每个点之间的距离都相同就可以了,以下是效果图,红色是处理之前的,黑色是处理之后(防止重叠,我把线错开了)。
这里写图片描述
下面上代码。。这是Cocos2d-lua版的

local prePoint = nil 
local curPoint = nil --上一个  当前坐标
local m_ptOrbit = {} --坐标数组</
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值