| 实例说明:虽然lineStyle能够定义三个参数,但在一般情况下我们没有必要每一项都给予定义。例如我们需要绘制一个宽度为2像素的黑色的不透明的线,则可以使用如下as:
_root.lineStyle(2);
可以看到这个as只定义了thickness的值,则其余的两项rgb, alpha均采用默认值。同样的,我们也可以:
_root.lineStyle(0,0xFF0000);
这样就可以起到精简优化代码的目的。
设置线段样式后所画的所有线段都将被作为一个单一对象来对待。调用“linestyle”函数时,即使所有的参数设置都和原来一样,它也将停止现有的线段对象并开始一个新的线段对象。这样以来,在使用alpha值小于100的重叠线段时就会导致一些意料之外的结果。在下面的例子(将alpha值设为25)中按住“multiple
linesytles”按扭不放来看一下(图形的)变化。你也可以在macromedia flash
mx中打开“linestyle.fla”这个文件来观看效果
MovieClip.lineTo(x, y)
这个命令我们上边也提到过,就是改变线条的起点位置。在Flash MX中可以将x,y的坐标值精确到0.05像素。由于Flash
MX所能显示的最小的长度为0.15像素,所以如果要绘制出一个可以看见的线条的话线条的起点和终点坐标值之差的绝对值不能小于0.15,如:
_root.lineStyle(100,0xFF0000);
_root.moveTo(100,100);
_root.lineTo(100.15,100);
可以看到这个只有0.15宽的线条近似为一个圆点,那么运用以上代码可以很快捷的绘制出一个实心的圆,圆的直径取决于Thickness的值,这是一个很好的窍门。如果一开始改变的是y的坐标值的话就会改变这个圆点的位置但不会改变形状,这是由于它并不是一个真正意义上的圆,只是一个水平的线条,试想我们能通过改变水平线的y坐标来改变水平线的宽度(高度)吗?
而如果小于0.15的话,你将不会看到这个线条,如:
_root.lineStyle(100,0xFF0000);
_root.moveTo(100,100);
_root.lineTo(100.13,100);
在下面的实例中我们使用了lineTo命令配合两个可以拖动的MC,来实现一个简单的互动效果。你能做出来吗?
|