iOS浅谈王者荣耀摇杆封装

先看看粗糙的效果图

iOS浅谈王者荣耀摇杆封装_第1张图片
动画.gif

分析下英雄的动作

X轴、Y轴平移

Z轴旋转

假定英雄的速度为speed,面部朝向角度angle

X方向偏移量 Y方向偏移量 Z轴旋转角度
speed * cos(angle) speed * sin(angle) angle

摇杆需要对外给出的必要接口是angle变化时候的回调。

对于iOS设备不改变锚点的情况下X向右为正, Y向下为正,Z顺时针、水平向右为起始方向,有点晕,要说错了帮我纠正下。

如下图(图画的太糙,将就看先)

iOS浅谈王者荣耀摇杆封装_第2张图片
iPhone坐标系.png

这里只按照标准的直角坐标系去计算,从X轴正方向开始,逆时针为角度的变化方向

iOS浅谈王者荣耀摇杆封装_第3张图片
直角坐标系.png

通过 余弦定理 很容易算出角度(知道起点跟手势移动的点即可)

iOS浅谈王者荣耀摇杆封装_第4张图片
余弦定理图.jpg
余弦定理公式.png

推荐一款Mac下的公式编辑器 Daum Equation Editor

计算出角度之后余下的问题就迎刃而解了,改变英雄视图的位置即可

定义一个Hero对象,持有一个HeroView,暂时有anglespeedstate属性,给Hero添加一个movestop方法,来操作英雄即可。


感谢您阅读完毕,如有疑问,欢迎添加QQ:714387953(蜗牛上高速)。
github:https://github.com/yhl714387953/KingOfGlory
如果有错误,欢迎指正,一起切磋,共同进步
如果喜欢可以Follow、Star、Fork,都是给我最大的鼓励

你可能感兴趣的:(iOS浅谈王者荣耀摇杆封装)