cocoscreator 虚拟摇杆控制目标移动(极简版,舒适度过百)

其实 本人挺喜欢moba游戏的 比如dota 以前下班回家都会打两把,但是有的时候想玩了 却没电脑,于是 就玩了几把 王者荣耀 就看见他那个控制人物行走的 摇杆挺有意思 于是 想自己实现类似的功能->
效果图:


总体思路:摇杆在规定范围内 活动,受控制目标 通过监听 控制点(摇杆)的方位,然后调整自身的角度和位置。

首先要考虑几个问题

1,控制点的活动区域

2,受控制较色的角度要跟控制点的角度一致

3,受控角色如何监听控制器角度变化和位置变化

4,控制较色速度

实操:
1,控制点的活动区域

在移动事件中,只要计算 控制点与 控制底图的 半径差(限制范围半径) 与 控制点的 向量长度 作比较就可以, 如果 向量长度大于 半径差 就进行位置限制处理。保证控制点在限制区域内。

2,受控制较色的角度要跟控制点的角度一致

计算控制点的 方位 通过方位,控制目标监听 控制点的方位 ,然后 转化为自身的角度 就可以了

3,受控角色如何监听控制器角度变化和位置变化

这个问题可以两面考虑

1)用计时器实现

即用sechedule或者js自带的计时器 每次调用监听函数

2)运用update实现

这个方法比较懒 只要在受控节点的update中监听即可

本文用第一种,原因是 极简

4,控制角色速度

角色的速度根据不同的监听 进行设置,期望是可调节的
主要代码:

长按下方二维码,关注公众号 发送 yaogan 即可获得完整代码及资源

1赞