用AS画图,自定义多边形及圆形
2008-04-02 10:58:50来源:互联网 阅读 ()
这两天在研究关于as画图的问题,经过一番折腾后终于是出来了,(部分代码来源于 programming macromedia flash mx)
AS:
MovieClip.prototype.drawRegAng = function(x, y, r, num, rotation) {
/*参数说明:x,y:多边形的中央坐标;r:多边形半径;num:多边形边数;最后一个是旋转角度*/
var tAngle = (rotation-90)*Math.PI/180;
var angle = 2*Math.PI/num;
var sin = Math.sin;
var cos = Math.cos;
num ;
this.moveTo(x r*cos(tAngle), y r*sin(tAngle));
while (num--) {
tAngle = angle;
this.lineTo(x r*cos(tAngle), y r*sin(tAngle));
}
};
this.createEmptyMovieClip("loader", 100);
loader.lineStyle(0, 0x000000);
//初始化变量
var r=50,num=5,rota=0;
var x = Stage.width/2, y = Stage.height/2;
loader.drawRegAng(x, y, r, num, rota);
numChange=new Object();
numChange.change=function(evt){
num=evt.target.value;
}
rChange=new Object();
rChange.change=function(evt){
r=evt.target.value;
}
rotaChange=new Object();
rotaChange.change=function(evt){
rota=evt.target.value;
}
bian.addEventListener("change",numChange);
jiaodu.addEventListener("change",rotaChange);
banjing.addEventListener("change",rChange);
function clicked(){
loader.clear();
loader.lineStyle(0, 0x000000);
loader.drawRegAng(x, y, r, num, rota);
}
rSubmit.addEventListener("click",clicked);
圆形:
AS:
MovieClip.prototype.drawOval=function(x,y,rx,ry){
this.moveTo(x rx,y);
this.curveTo(rx x,0.4142*ry y,0.7071*rx x,0.7071*ry y);
this.curveTo(0.4142*rx x,ry y,x,ry y);
this.curveTo(-0.4142*rx x,ry y,-0.7071*rx x,0.7071*ry y);
this.curveTo(-rx x,0.4142*ry y,-rx x,y);
this.curveTo(-rx x,-0.4142*ry y,-0.7071*rx x,-0.7071*ry y);
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: Flash绘画技巧:画人物的几个步骤
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash