[发明专利]基于Cocos2d-x实现的旋转控件及其应用方法有效
申请号: | 201510560964.6 | 申请日: | 2015-09-06 |
公开(公告)号: | CN105159561B | 公开(公告)日: | 2018-09-11 |
发明(设计)人: | 岳伟;刘斌 | 申请(专利权)人: | 上海时年信息科技有限公司 |
主分类号: | G06F3/0484 | 分类号: | G06F3/0484;G06F3/0488;G06F9/451 |
代理公司: | 北京细软智谷知识产权代理有限责任公司 11471 | 代理人: | 郭亚芳 |
地址: | 201203 上海市浦东新区张*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 cocos2d 实现 旋转 控件 及其 应用 方法 | ||
1.一种包含基于Cocos2d-x实现的旋转控件的系统,其特征在于:所述旋转控件采用Cocos2d-x引擎提供的CCControlButton控件创建而成;创建的所述旋转控件包括一中心部件和两旋转部件组,两所述旋转部件组的位置相同,通过点击所述中心部件,两所述旋转部件组进行切换;各所述旋转部件组中均包括若干旋转部件,各所述旋转部件以所述中心部件为中心,围绕所述中心部件均匀设置;所述旋转控件在应用时,包括:
1)计算中心部件和旋转部件的可触摸点击区域;
2)在旋转部件的可触摸点击区域中,处理旋转事件,其具体包括:
设定手指开始的触摸点为Pn-1(xn-1,yn-1),可触摸点击区域的中心点为C(x0,y0),触摸点Pn-1(xn-1,yn-1)与中心点C(x0,y0)之间的连线与水平面之间的夹角为αn-1;手指移动到下一个触摸点Pn(xn,yn),触摸点Pn(xn,yn)与中心点C(x0,y0)之间的连线与水平面之间的夹角为αn;根据三角反正切函数计算得到旋转部件的旋转角度αn(n-1),即αn(n-1)=αn-αn-1,其中,旋转部件按照旋转角度αn(n-1)进行旋转;
依次类推,将手指当前移动到的触摸点Pn(xn,yn)作为开始触摸点,手指移动到下一个触摸点Pn+1(xn+1,yn+1),触摸点Pn+1(xn+1,yn+1)与中心点C(x0,y0)之间的连线与水平面之间的夹角为αn+1;根据三角反正切函数计算得到旋转部件的旋转角度α(n+1)n,即α(n+1)n=αn+1-αn,其中,旋转部件按照旋转角度α(n+1)n进行旋转;其中,n≥1;
3)在中心部件和旋转部件的可触摸点击区域中,处理点击事件,其具体包括:
基于Cocos2d-x中基础tag属性,为中心部件和旋转部件设置不同的tag值,每次事件完成后,遍历所有的中心部件和旋转部件;如果触摸结束点在中心部件内,则判定为中心部件被点击;如果触摸结束点在旋转部件内,则判定为旋转部件被点击,然后处理中心部件或旋转部件对应的用户选项;
4)通过点击中心部件使两旋转部件组进行切换。
2.如权利要求1所述的系统,其特征在于:所述中心部件和各所述旋转部件均采用相同的正六边形结构,一个所述旋转部件组中包括六个所述旋转部件;设定采用的正六边形中两平行边之间的垂直距离为W,所述中心部件的中心点坐标为(0,0),则第一至第六所述旋转部件围绕所述中心部件初始摆放时,各所述旋转部件的中心点坐标分别为:(-W,0),(-W/2,tan(π/3)*W/2),(W/2,tan(π/3)*W/2),(W,0),(W/2,-tan(π/3)*W/2),(-W/2,-tan(π/3)*W/2)。
3.如权利要求1所述的系统,其特征在于:所述中心部件采用边长为L的正方形,各所述旋转部件均采用边长为L的带缺口的正方形,一个所述旋转部件组中包括四个所述旋转部件;设定所述中心部件的中心点坐标为(0,0),则第一至第四所述旋转部件围绕所述中心部件初始摆放时,各所述旋转部件的中心点坐标分别为:(-L/2,L/2),(L/2,L/2),(L/2,-L/2),(-L/2,-L/2)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海时年信息科技有限公司,未经上海时年信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510560964.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电子表格文档可划动显示区域确定方法及装置
- 下一篇:防滑落高脚杯托盘