|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Flash动画说到底就是“遮罩+补间动画+逐帧动画”与元件(主要是影片剪辑)的混合物,通过这些元素的不同组合,从而可以创建千变万化的效果。
poluoluo中心提醒:以下先容的是怎样用程序as3(actionscript3.0)画出林林总总的三角形.
以下先容的是怎样用程序as3(actionscript3.0)画出林林总总的三角形:
1、依据三个极点画出三角形
这是最复杂的画法
packagecom.king{
/*
author:ShangBinFeng
QQ:334973991
*/
importflash.display.Sprite;
importflash.geom.Point
publicclasstestTriangleextendsSprite{
publicfunctiontestTriangle(){
//已知前提
varpointA:Point=newPoint(0,0);
varpointB:Point=newPoint(50,55);
varpointC:Point=newPoint(0,70);
//画三角形
graphics.lineStyle(1,0xff0000,1);
graphics.moveTo(pointA.x,pointA.y);
graphics.lineTo(pointB.x,pointB.y);
graphics.lineTo(pointC.x,pointC.y);
graphics.lineTo(pointA.x,pointA.y);
}
}
}
2、画等腰三角形
1、等腰三角形能够看作其两腰交织的谁人点在一个圆的圆心,那末其他两个极点则在这个圆上,假定圆心坐标为(0,0),圆的半径为r,两腰夹角为Q,可得另个极点坐标为(r,0),最初个极点坐标为(r*cosQ,r*sinQ);
程序为
packagecom.king{
/*
author:ShangBinFeng
QQ:334973991
*/
importflash.display.Sprite;
importflash.geom.Point
publicclasstestTriangleextendsSprite{
publicfunctiontestTriangle(){
//已知前提
varr:Number=100;
varQ:Number=30*(2*Math.PI/360);//这里失掉是弧度,即30度对应的弧度数
//画三角形
graphics.lineStyle(1,0xff0000,1);
graphics.moveTo(0,0);
graphics.lineTo(r,0);
graphics.lineTo(r*Math.cos(Q),r*Math.sin(Q));
graphics.lineTo(0,0);
}
}
}
2、等边三角形可看作两腰夹角为60度的等腰三角形,只需晓得边长,便可依照下面的办法画出
3、假如已知前提为两腰夹角Q,底边长度d,那末两腰的长度即圆的半径r为d*Math.PI/(2*Q),再依照下面的办法也可画出
4、假如晓得等腰三角形的腰长r和底边长d也可求出
假定两腰夹角为x,沿极点画出等腰三角形的垂直中分线,可看出sin(x/2)=(d/2)/r,可求出夹角Q=(Math.asin((d/2)/r))/2,再依照下面的办法也可画出
3、画一般的三角形
1、已知两角一边
packagecom.king{
/*
author:ShangBinFeng
QQ:334973991
*/
importflash.display.Sprite;
importflash.geom.Point;
publicclasstestTriangleextendsSprite{
publicfunctiontestTriangle(){
//已知前提
vara:Number=100;
varA:Number=90*2*Math.PI/360;
varB:Number=30*2*Math.PI/360;
//画三角形
varb:Number=a*Math.sin(A)/Math.tan(B)+a*Math.cos(A);
graphics.lineStyle(1,0xff0000,1);
graphics.moveTo(0,0);
graphics.lineTo(a,0);
graphics.lineTo(b*Math.cos(A),b*Math.sin(A));
graphics.lineTo(0,0);
}
}
}
2、已知双方和此双方的夹角
packagecom.king{
/*
author:ShangBinFeng
QQ:334973991
*/
importflash.display.Sprite;
importflash.geom.Point;
publicclasstestTriangleextendsSprite{
publicfunctiontestTriangle(){
//已知前提
vara:Number=100;
varb:Number=200;
varA:Number=90*2*Math.PI/360;
//画三角形
graphics.lineStyle(1,0xff0000,1);
graphics.moveTo(0,0);
graphics.lineTo(a,0);
graphics.lineTo(b*Math.cos(A),b*Math.sin(A));
graphics.lineTo(0,0);
}
}
}
3、已知三条边长,最年夜边和最小边之差不克不及年夜于第三边
packagecom.king{
/*
author:ShangBinFeng
QQ:334973991
*/
importflash.display.Sprite;
importflash.geom.Point;
publicclasstestTriangleextendsSprite{
publicfunctiontestTriangle(){
//已知前提
vara:Number=100;
varb:Number=200;
varc:Number=250;
//画三角形
varx=(a*a+b*b-c*c)/(2*a);
vary=Math.sqrt(b*b-x*x);
graphics.lineStyle(1,0xff0000,1);
graphics.moveTo(0,0);
graphics.lineTo(a,0);
graphics.lineTo(x,y);
graphics.lineTo(0,0);
}
}
}
FlashScreensaversMaker能够迅速的将您的Flash作品转化为屏保程序。 |
|