[ActionScript 3.0] 绘制扇形方法
2015-07-13 13:05
393 查看
/** * 绘制扇形 * @param mc 承载扇形的对象 * @param x 圆心角x * @param y 圆心角y * @param r 半径 * @param angle 绘制角度 * @param startAngle 起始角度 * @param color 填充颜色 * @param hasFrame 是否填充边框 */ private function drawSector(sp:Sprite,x:Number=0,y:Number=0,r:Number=100,angle:Number=60,startAngle:Number=0,color:Number=0xff0000,hasFrame:Boolean=true):void { sp.graphics.clear(); if(hasFrame) { sp.graphics.lineStyle(0,0xffff00); } sp.graphics.beginFill(color,1); sp.graphics.moveTo(x,y); angle=(Math.abs(angle)>360)?360:angle; var n:Number=Math.ceil(Math.abs(angle)/45); var angleA:Number=angle/n; angleA=angleA*Math.PI/180; startAngle=startAngle*Math.PI/180; sp.graphics.lineTo(x+r*Math.cos(startAngle),y+r*Math.sin(startAngle)); for (var i:int=1; i<=n; i++) { startAngle+=angleA; var angleMid:Number=startAngle-angleA/2; var bx:Number=x+r/Math.cos(angleA/2)*Math.cos(angleMid); var by:Number=y+r/Math.cos(angleA/2)*Math.sin(angleMid); var cx:Number=x+r*Math.cos(startAngle); var cy:Number=y+r*Math.sin(startAngle); sp.graphics.curveTo(bx,by,cx,cy); } if (angle!=360) { sp.graphics.lineTo(x,y); } sp.graphics.endFill(); }
相关文章推荐
- HTTP/2笔记之错误处理和安全
- GRE写作必备句型
- NSData 与NSString Byte UIImage之间的转换
- 《iOS总结》APP上传步骤(详细版)
- 一句代码搞定,所有页面点击空白处隐藏键盘
- hibernate实体类型映射文件
- 第一份工作
- HTTP/2笔记之消息交换
- poj 3614 抹防晒霜的牛(贪心 + 优先队列)
- hdu 4630 No Pain No Game(线段树+离线操作)
- HTTP/2笔记之帧
- 5套博客园皮肤模板
- HTTP/2笔记之流和多路复用
- openwrt libubox 移植到ARM上
- swift语言的学习笔记十二(初始化方法)
- otto框架使多个类之间解耦
- appium ios环境搭建——iOS开发环境搭建
- Android Studio参考在线文章
- 新项目开发环境搭建遇到的问题排查(cannot assign requested address)
- 【ASC44】F - Funny Card Game