[发明专利]一种弧线运动的动画算法在审
申请号: | 201810689379.X | 申请日: | 2018-06-28 |
公开(公告)号: | CN108845858A | 公开(公告)日: | 2018-11-20 |
发明(设计)人: | 孙征 | 申请(专利权)人: | 北京酷我科技有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451 |
代理公司: | 北京德和衡律师事务所 11405 | 代理人: | 陈浩 |
地址: | 100080 北京市海淀区农大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 画布 动画效果 弧线运动 加载 算法 绘制 缓存 动画页面 绘制区域 开发效率 能量守恒 圆弧摆动 扩展性 自定义 回调 控件 内边 创建 画笔 个性化 样式 保存 制作 恢复 | ||
本发明涉及一种弧线运动的动画算法,包括如下步骤:创建画布Canvas,供用户在上面进行绘制,在onDraw回调中,canvas.save()获取canvas保存的状态,以画布中心为中心进行画布旋转,创建一个新的绘制区域arcBounds做为缓存,并设置内边距mStrokeInset,设置每次绘制时画笔mPaint的宽度和颜色,开始画圆弧canvas.drawArc,最后再恢复到canvas最初的状态canvas.restoreToCount(saveCount)。本发明,自定义控件,实现圆弧摆动的效果,模拟能量守恒球不断碰撞的动画效果,呈现全新的加载动画页面,凸显个性化及App,具一定扩展性,可修改制作其他样式的加载动画效果,提高开发效率。
技术领域
本发明涉及应用的加载动画技术领域,具体说是一种弧线运动的动画算法。
背景技术
现有的应用程序(例如App),在打开运行时,总会看到一个加载动画页面,以便在等待加载的过程中,用户可以知晓应用程序正在工作、加载的进度等信息。
常见的加载动画页面,有的是呈现一张静态图片,有的是呈现一组图片实现动画效果,有的是呈现一段短视频实现动画效果,为了凸显个性化,丰富加载动画页面的功能及动画效果,有必要对加载动画页面进行优化、再设计。
根据公司目前的开发计划,拟实现一种模拟能量守恒双摆球的动画效果,该动画效果作为新版App的加载动画页面。所述模拟能量守恒双摆球动画效果中,包括沿水平方向依次排列的多颗小球(通常是奇数个),这些小球中,最左侧和最右侧的小球交替的被弹出并回落,小球的移动轨迹为弧线,且移动速度不恒定,故需要专门设计相应的轨迹移动算法。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种弧线运动的动画算法,自定义控件,实现圆弧摆动的效果,模拟能量守恒球不断碰撞的动画效果,呈现全新的加载动画页面,凸显个性化及App,具一定扩展性,可修改制作其他样式的加载动画效果,提高开发效率。
为达到以上目的,本发明采取的技术方案是:
一种弧线运动的动画算法,其特征在于,包括如下步骤:
创建画布Canvas,Canvas由android系统提供,供用户在上面进行绘制,
在onDraw回调中,canvas.save()获取canvas保存的状态,
以画布中心为中心进行画布旋转,
创建一个新的绘制区域arcBounds做为缓存,并设置内边距mStrokeInset,
设置每次绘制时画笔mPaint的宽度mPaint.setStrokeWidth和颜色mPaint.setColor,
开始画圆弧canvas.drawArc,drawArc获取以下参数信息:
第一个参数为圆弧的形状和大小的范围,
第二个参数是设置圆弧是从哪个角度来绘画的,
第三个参数是设置圆弧扫过的角度,
第四个参数是设置圆弧在绘画的时候是否经过圆形,
第五个参数是定义的画笔mPaint,
最后再恢复到canvas最初的状态canvas.restoreToCount(saveCount)。
在上述技术方案的基础上,画布旋转角度mGroupRotation的计算方法如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京酷我科技有限公司,未经北京酷我科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810689379.X/2.html,转载请声明来源钻瓜专利网。