iOS浅谈王者荣耀摇杆封装

先看看粗糙的效果图

动画.gif

分析下英雄的动作

X轴、Y轴平移

Z轴旋转

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

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

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

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

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

iPhone坐标系.png

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

直角坐标系.png

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

余弦定理图.jpg
余弦定理公式.png

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

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

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


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • >*很不幸,没人能告诉你母体是什么,你只能自己体会* --骇客帝国 在第四章“可视效果”中,我们研究了一些增强图层...
    夜空下最亮的亮点阅读 5,568评论 0 2
  • abbreviation 简写符号;简写 absolute error 绝对误差 absolute value 绝...
    沧海一睹阅读 9,928评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 6,844评论 0 11
  • 儿子骨折了,我给他花高价买了一碗排骨汤。婆婆挑了五块大肥肉放在了小碗里,我一看就够了,不要说吃了,但是没好意思说。...
    苏摩羯阅读 1,612评论 0 2
  • 为什么不管与男的女的聊天,对话框中最后一句话一定是我发的,我就真的那么不受待见吗? 妈妈,没事总会说我,现在才像她...
    乌小四阅读 1,865评论 0 0