lineStyle(MovieClip.lineStyle 方法)
public lineStyle(thickness:Number, rgb:Number, alpha:Number, pixelHinting:Boolean, noScale:String, capsStyle:String, jointStyle:String, miterLimit:Number) : Void
指定 Flash 用于后续 lineTo()
和 curveTo()
方法调用的线条样式,在以不同参数调用 lineStyle()
方法之前,线条样式不会改变。可以在绘制路径的中间调用 lineStyle()
以为路径中的不同线段指定不同的样式。
注意:对 clear()
方法的调用会将线条样式的值设置回 undefined
。
您可以通过创建子类来扩展 MovieClip 类的方法和事件处理函数。
可用性:ActionScript 1.0;Flash Player 6
参数
thickness:Number
- 一个整数,以磅为单位指示线条的粗细;有效值为 0 到 255。如果未指定数值,或者该参数为undefined
,则不绘制线条。如果传递的值小于 0,则 Flash Player 使用 0。数值 0 表示极细的粗细;最大粗细为 255。如果传递的值大于 255,则 Flash 解释程序使用 255。
rgb:Number
- 线条的十六进制颜色值(例如,红色为 0xFF0000,蓝色为 0x0000FF,等等)。如果未指示值,则 Flash 使用 0x000000(黑色)。
alpha:Number
- 一个整数,指示线条颜色的 Alpha 值;有效值为 0 到 100。如果未指示值,则 Flash 使用 100(纯色)。如果该值小于 0,则 Flash 使用 0。如果该值大于 100,则 Flash 使用 100。
pixelHinting:Boolean
- 在 Flash Player 8 中添加。一个布尔值,它指定是否提示笔触采用完整像素。此值同时影响曲线锚点的位置以及线条笔触大小本身。如果未指示值,则 Flash Player 不使用像素提示。
noScale:String
- 在 Flash Player 8 中添加。一个字符串,指定如何缩放笔触。有效值如下:
"normal"
始终缩放粗细(默认值)。"none"
从不缩放粗细。"vertical"
如果仅垂直缩放对象,则不缩放粗细。"horizontal"
如果仅水平缩放对象,则不缩放粗细。
capsStyle:String
- 在 Flash Player 8 中添加。一个字符串,指定线条终点的端点类型。有效值为:"round"
、"square"
和"none"
。如果未指示值,则 Flash 使用圆角端点。
例如,下列插图示显示了不同的 capsStyle
设置。对于每种设置,插图显示了一条粗细为 30 的蓝色线条(应用 capsStyle
的线条),以及覆于其上的粗细为 1 的黑色线条(未应用 capsStyle
的线条):
jointStyle:String
- 在 Flash Player 8 中添加。一个字符串,指定用于拐角的连接外观的类型。有效值为:"round"
、"miter"
和 "bevel"
。如果未指示值,则 Flash 使用圆形连接。
例如,下列插图示显示了不同的 capsStyle
设置。对于每种设置,插图显示了一条粗细为 30 的带拐角的蓝色线条(应用jointStyle
的线条),以及覆于其上的粗细为 1 的带拐角的黑色线条(未应用 jointStyle
的线条):
请注意,对于设置为 "miter"
的 jointStyle
,可以使用 miterLimit
参数限制尖角处的长度。
miterLimit:Number
- 在 Flash Player 8 中添加。一个数字,指示切断尖角的限制。有效值的范围是 1 到 255(超出该范围的值将舍入为 1 或 255)。此值只可用于 jointStyle
设置为 "miter"
的情况下。如果未指定值,Flash 将使用 3。miterLimit
值表示向外延伸的尖角超出角边相交所形成的结合点的长度。此值表示为线条 thickness
的因子。例如,miterLimit
因子为 2.5 且 thickness
为 10 像素时,尖角将在 25 像素处切断。
例如,请考虑下列带拐角的线条,每个线条都以 thickness
20 进行绘制,但它们的 miterLimit
分别设置为 1、2 和 4。覆在其上的黑色参考线条显示了结合处的联结点:
请注意,对于给定的 miterLimit
值,会存在一个可被切断的特定最大角度。下表列出了部分示例:
| 小于此角度将被切断: |
---|---|
1.414 | 90 度 |
2 | 60 度 |
4 | 30 度 |
8 | 15 度 |
示例
下列代码绘制一个三角形,它具有 5 像素的纯洋红色线条,没有填充,具有像素提示,没有笔触缩放,没有端点,具有miterLimit
设置为 1 的尖角结合点:
this.createEmptyMovieClip("triangle_mc", this.getNextHighestDepth());
triangle_mc.lineStyle(5, 0xff00ff, 100, true, "none", "round", "miter", 1);
triangle_mc.moveTo(200, 200);
triangle_mc.lineTo(300, 300);
triangle_mc.lineTo(100, 300);
triangle_mc.lineTo(200, 200);
如果您的 SWF 文件包括第 2 版的组件,则请使用第 2 版的组件 DepthManager 类取代本示例中所用的MovieClip.getNextHighestDepth()
方法