实现绘图API功能,AS3.0是通过flash.display.Graphics 类来完成的,Graphics类是以Shape、Sprite 或MovieClip 实例的属性这个身份来实现绘图功能!下面是最简单的画线和曲线。复杂的东西奄就不会啦
画线条:
一、设置线条和填充样式。可以使用lineStyle() 或 lineGradientStyle() 方法来指定线条的外观。创建纯色线条:
AS:myShape.graphics.lineStyle(2, 0x990000, 0.75); // myShape是Shape的一个实例,"2":指线条的粗细, "0x990000"是指线条的颜色,"0.75":是指线条的透明度,完全不透明的话就设成1好了。lineStyle()方法还可以接受其它的额外参数,这里不一一介绍!
二、设置线条的起始点。调用 moveTo() 方法。
AS:myShape.graphics.moveTo(100, 100);//设置坐标点(100,100)为线条的起始点
三、绘制线条到第二个点(两点确定一条直线嘛)。调用lineTo()方法。
AS:myShape.graphics.lineTo(200,200)//坐标点(200,200)是目前所绘线条的第二个点也是结束点。
以上已绘制好一条直线!
综合AS如下:
VarmyShape:Shape=Shape();
myShape.graphics.lineStyle(2,0x990000,0.75);
myShape.graphics.moveTo(100,100);
myShape.graphics.lineTo(200,200);
addChild(myShape);
画曲线:curveTo() 方法可以绘制二次贝塞尔曲线。这将绘制一个连接两个点(称为锚点)的弧,同时向第三个点(称为控制点)弯曲。Graphics 对象使用当前绘制位置作为第一个锚点。调用 curveTo() 方法时,将传递以下四个参数:控制点的 x 和 y 坐标,后跟第二个锚点的 x 和 y 坐标。
一、设置线条和填充样式。设置线条的样式和以上画直线的方法是一样的,如果要创建填充形状,在绘制前调用 beginFill()、beginGradientFill()、beginBitmapFill() 或 beginShaderFill() 方法来设置填充样式。最基本的方法beginFill()接受两个参数。
AS:myShape.graphics.beginFill(0x00FF00,0.7);//”0x00ff00":指填充颜色,“0.7”:批透明度(Alpha值)
二、设置线条的起始点。调用 moveTo() 方法。
AS:myShape.graphics.moveTo(100, 100);//设置坐标点(100,100)为线条的起始点。
三、绘制曲线。调用curveTo() 方法。curveTo() 方法可以绘制二次贝塞尔曲线。这将绘制一个连接两个点(称为锚点)的弧,同时向第三个点(称为控制点)弯曲,调用 curveTo() 方法时,将传递以下四个参数:控制点的 x 和 y 坐标,后跟第二个锚点的 x 和 y 坐标。
AS:myShape.graphics.curveTo(175, 125, 200, 200);//点(175,125)是控制点的坐标,点(200,200)是第二个锚点的坐标。
综合AS:
var myShape:Shape=new Shape();
myShape.graphics.lineStyle(2,0x990000,0.75);
myShape.graphics.beginFill(0x256984,0.5);
//设置填充颜色,可调用 endFill() 方法来结束 ,如果绘制的形状没有闭合(换句话说,在调用 endFill() 时,绘制点不在形状的起始点),调用 endFill()方法时, Flash Player 或AIR 将自动绘制一条直线以闭合形状
myShape.graphics.moveTo(100,100);
myShape.graphics.curve(175,125,200,200);
addChild(myShape);
以上曲线已完成
经过试验,在绘画前一定要先进行第一步的设置,要不然Playe将显示不出图形!