快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

用AS画图,自定义多边形及圆形

这两天在研究关于as画图的问题,经过一番折腾后终于是出来了,(部分代码来源于 programming macromedia flash mx)

« Full Screen »

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);

圆形:

« Full Screen »

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);
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);
}


返回类别: Flash教程
上一教程: Flash MX实用编程百例解读一
下一教程: Flash脚本的执行顺序

您可以阅读与"用AS画图,自定义多边形及圆形"相关的教程:
· FLASH自定义右键菜单全释
· flash MX中怎么画正多边形
· Flash高级知识:用自定义类实现动画控制
· Flash课件实例 画正多边形
· Flash制作可随意拖动的四边形
    微笑服务 优质保证 索取样品