Egret社区

控制器的实现

2017-11-28 14:10
605860
本帖最后由 ywx620 于 2017-11-29 09:09 编辑

控制器需要分两个部分,
一个是手指在大圆内的拖动
第二个是当手拖动到大圆外面时的处理
内小圆取名controlBar
外大圆取名controlBg
两个圆图锚点都要设置在正中心
QQ图片20171128112521.png
使用方法controlMove(x:number,y:number):void
把手指的坐标位置转入进去
声明中心点变量cx,cy
var cx=bg.x;
var cy=bg.y;
声明变量dx,dy,并且赋值手指与中心点X轴与Y轴距离
var dx=x-cx;
var dy=y-cy;
计算出手指与中心的距离
var ds=Math.sqrt(dx*dx+dy*dy);
得到大圆半径
var r=bg.width>>1;

声明变量conA与sinA
var conA=dx/ds;
var sinA=dy/ds;

当所有变量都已经声明好了之后,就可以现实算法了。
算法中要加入边界的判断
if(ds<r){//在边内时的处理

}else{//超出边界时的处理

}

具体算法在下面

游客,如果您要查看本帖隐藏内容请回复



分享到 :
2 人收藏

60 个回复

倒序浏览
a362775841  登堂入室 | 2017-11-28 14:34:45
看看
suyliang  初学乍练 | 2017-11-28 15:54:12
今天的 我第二个看看
metin520  登堂入室 | 2017-11-28 15:59:11
ddddd
liu_game  登堂入室 | 2017-11-28 16:16:55
666
hrb892012  登堂入室 | 2017-11-28 16:29:08
看看学习下
junlas  斑竹 | 2017-11-28 23:02:27
666
huangdian  登堂入室 | 2017-11-29 11:00:03
777
stanlee  登堂入室 | 2017-11-29 17:48:26
感谢分享
yichen454  登堂入室 | 2017-11-29 17:53:00
看看
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部