绘制直线

moveTo()方法将虚拟钢笔移动到指定位置,但不会绘制线条 moveTo(x,y):void

 

lineTo()方法会从钢笔当前位置,向参数设定的位置绘制一条点到点的直线lineTo(x,y):void

 

lineStyle()方法用来设置线条的虚拟属性

thuckness设置绘制线条的粗细,参数0表示极细的笔触,且不会随graphics对象缩放而缩放

color指定绘制线条的颜色

alpha指定绘制线条的透明度

pixelHinting参数指定线条和端点绘制时是否使用完整像素和完整的宽度,或者使用部分像素,如线条的粗细设置为0.5,而锚点在1.5,1.5的位置

scaleMode这个参数设置避暑的粗细是否随着绘制该笔触的显示对象的缩放而缩放,Normal表示总是随着显示对象缩放粗细,none表示从不缩放,HORIZONTAL和VERTICAL分别表示只在水平或垂直的位置缩放

caps这个参数指定了线条端点的类型,他的取值可以是capstyle类的NONE(无样式),ROUND(圆形)和SQUARE(方形)

joints这个参数指定了线条弯曲时转角处的样式 MITER如果端点的尺寸在尖角限制以内,则创建一个端点,否则用斜角连接,GOUND圆角 BELEV斜角

miterLimit这个参数和关节MITER结合使用,用来指定线条拐角处向外延伸的两边相交形成的结合点长度

package
{
	import flash.display.Shape;
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.geom.Point;
	
	[SWF(width=550,height=400,backgroundColor=0xFFFFFF)]
	
	
	public class as1 extends Sprite
	{
		private var _currentShape:Shape;
		private var _color:uint;
		private var _startPosition:Point;
		
		
		public function as1()
		{
			stage.addEventListener(MouseEvent.MOUSE_DOWN, onStageMouseDown);
			stage.addEventListener(MouseEvent.MOUSE_UP, onStageMouseUp);
		}
		
		private function onStageMouseDown(event:MouseEvent):void{
			_color = Math.random()*0xFFFFFF;
			_currentShape = new Shape();
			addChild(_currentShape);
			_startPosition = new Point(stage.mouseX,stage.mouseY);
			stage.addEventListener(MouseEvent.MOUSE_MOVE, onStageMouseMove);
		}
		
		private function onStageMouseUp(event:MouseEvent):void{
			stage.removeEventListener(MouseEvent.MOUSE_MOVE, onStageMouseMove);
		}
		
		private function onStageMouseMove(event:MouseEvent):void{
			drawLine();
			event.updateAfterEvent();
		}
		
		private function drawLine():void{
			_currentShape.graphics.clear();
			_currentShape.graphics.lineStyle(3,_color);
			_currentShape.graphics.moveTo(_startPosition.x,_startPosition.y);
			_currentShape.graphics.lineTo(stage.mouseX,stage.mouseY);
		}
	}
}