2016-10-13 00:16:48 点击量:10 标签: 收藏本文
调用方法:
- import Polygon; //引用脚本
- var my_poly:Polygon=new Polygon(); //实例化一个多边形对象
- /*
- *drawPolygon(radius:int,segments:int,centerX:Number,
centerY:Number,tint:uint,line:int,rotating:Number,fillColor:uint=0)- *radius: 边长, px为单位,正整数,
- *segments:边的个数,正整数
- *centerX: 中心点x坐标
- *centerY: 中心点y坐标
- *tint: 边颜色, 16进制数字 例如:0xFF0000 红色
- *line: 边线宽度,px为单位
- *rotating: 多边形旋转角度,
- *fillColor: 填充颜色,16进制数字 不提供值时不填充。
- *
- */
- my_poly.drawPolygon(100,7,300,200,0xFF0000,1,0);
//CuPlayer.com绘制一个无填充颜色的正七边形- my_poly.drawPolygon(100,5,300,200,0xFF0000,1,0,0x00FF00);
//CuPlayer.com绘制一个有填充颜色的正五边形- addChild(my_poly); //将多边形对象添加到舞台
- package
- {
- import flash.display.MovieClip;
- import flash.events.Event;
- public class Polygon extends MovieClip
- {
- //CuPlayer.com PROPERTIES
- private var points:Array;
- private var id:int;
- private var ratio:Number;
- private var top:Number;
- //CuPlayer.com CONSTRUCTOR
- public function Polygon()
- {
- addEventListener(Event.ADDED_TO_STAGE,init);
- }
- private function init(evt:Event):void
- {
- removeEventListener(Event.ADDED_TO_STAGE,init);
- stage.frameRate=30;
- }
- //CuPlayer.com METHODS
- public function drawPolygon(radius:int,segments:int,
centerX:Number,centerY:Number,tint:uint,line:int,rotating:Number,fillColor:uint=0):void- {
- id=0;
- points=new Array();
- ratio=360/segments;
- top=centerY-radius;
- if(fillColor!=0)
- graphics.beginFill(fillColor);
- for(var i:int=rotating;i<=360+rotating;i+=ratio)
- {
- var xx:Number=centerX+Math.sin(radians(i))*radius;
- var yy:Number=top+(radius-Math.cos(radians(i))*radius);
- points[id]=new Array(xx,yy);
- switch(id)
- {
- case 0:
- break;
- case 1:
- graphics.lineStyle(line,tint,1);
- graphics.moveTo(points[id-1][0],points[id-1][1]);
- graphics.lineTo(points[id][0],points[id][1]);
- break;
- default:
- graphics.lineTo(points[id][0],points[id][1]);
- //drawing(points[id-1][0],points[id-1][1],points[id][0],points[id][1],tint,line);
- }
- id++;
- }
- if(fillColor!=0)
- graphics.endFill();
- id=0;
- }
- private function radians(n:Number):Number
- {
- return(Math.PI/180*n);
- }
- }
- }
- //脚本代码结束
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室