参考:

Egret教程Arc是使用示例:http://edn.egret.com/cn/article/index/id/673

我封装的工具类:

/**
* 圆形进度
* @author chenkai 2018/8/10
*/
class CircleProgress{
private target:egret.DisplayObject; //遮罩的目标
private shape:egret.Shape; //遮罩
private anticlockwise:boolean; //true逆时针 false顺时针
private dic:number; //角度增加方向 /**
* (anticlockwise, dic) (false,1)顺时针显示对象 (true,1)顺时针隐藏对象 (true,-1)逆时针显示对象 (false,-1)逆时针隐藏对象
* @param target 遮罩的对象
* @param anticlockwise
* @param dic
*/
public constructor(target:egret.DisplayObject, anticlockwise:boolean, dic:number){
this.target = target; this.shape = new egret.Shape();
this.shape.x = this.target.x + this.target.width/2;
this.shape.y = this.target.y + this.target.height/2;
target.parent && target.parent.addChild(this.shape); this.target.mask = this.shape; this.anticlockwise = anticlockwise;
this.dic = dic;
} /**
* 绘制进度
* @param value 0-1 进度
* @param offerAngle 角度偏移值,默认从0度开始画
*/
public drawProgress(value:number, offerAngle:number = 0){
if(value > 1){
value = 1;
}
var r = Math.max(this.target.width/2, this.target.height/2) / 2 * 1.5;
let startAngle = offerAngle;
let endAngle = (360*value + offerAngle)*this.dic;
this.shape.graphics.clear();
this.shape.graphics.beginFill(0x00ffff, 1);
this.shape.graphics.lineTo(r, 0);
this.shape.graphics.drawArc(0, 0, r, startAngle*Math.PI/180, endAngle * Math.PI / 180, this.anticlockwise);
this.shape.graphics.lineTo(0, 0);
this.shape.graphics.endFill();
} //销毁
public destroyMe(){
this.target = null;
}
}

  

使用方法:

let progress = new CircleProgress(this.clock,false,1);
progress.drawProgress(1/10);

  

最新文章

  1. ASP.NET中使用HttpWebRequest调用WCF
  2. Windows的拖放操作使用方法
  3. Linux网络编程-SIGPIPE信号导致的程序退出问题
  4. HTTP协议状态码详解(HTTP Status Code)
  5. iOS中 视频直播功能-流媒体的使用(详解)韩俊强的CSDN博客
  6. android调用系统相机拍照并保存在本地
  7. 七牛上传Qt版本
  8. [HTML5实现人工智能]小游戏《井字棋》发布,据说IQ上200才能赢
  9. Java动态代理学习【Spring AOP基础之一】
  10. selenium元素定位
  11. OpenCV +Python 制作画板
  12. ionic3+angular4开发混合app 之自定义组件
  13. 树形数组 java
  14. python 函数enumerate(x,y)的用法
  15. Appium基础(三)对象抓取
  16. 临时调用call()与apply()方法
  17. oracle 服务名 数据库名 实例名
  18. 测试HANA的真实案例
  19. SET FOREIGN_KEY_CHECKS=0;在Mysql中取消外键约束
  20. HDU 1501 Zipper 字符串

热门文章

  1. 正則表達式re中的贪心算法和非贪心算法 在python中的应用
  2. 如何使用 URLOpenStream 函数
  3. js准确获取当前页面url网址信息
  4. MySQL 字符串拼接详解
  5. SQL Compare数据库比较工具 完全破解+使用教程
  6. Java用三元运算符判断奇数和偶数
  7. vuejs使用FormData对象,ajax上传图片文件
  8. 架设SVN服务器
  9. mongodb命令(1)
  10. UrlUtils工具类,Java URL工具类,Java URL链接工具类