绘图 API 高级用法

Flash Player 10 和更高版本,Adobe AIR 1.5 和更高版本

Flash Player 10 运行时、Adobe AIR 1.5 运行时和更高版本的 Flash 运行时支持一组高级绘图功能。这些运行时的绘图 API 增强功能对早期版本中的绘图方法进行了扩展,使您通过建立数据集,即可生成形状、在运行时更改形状及创建三维效果。绘图 API 增强功能将现有方法合并为其他命令。这些命令利用矢量数组和枚举类为绘图方法提供数据集。使用矢量数组,可以快速呈示更复杂的形状,开发人员可以用编程方式为运行时呈示的动态形状更改数组值。

下面几节介绍 Flash Player 10 中引入的绘制功能:绘制路径定义缠绕规则使用图形数据类关于使用 drawTriangles()

您可能需要使用 ActionScript 中的高级绘图 API 来完成以下任务:

  • 使用 Vector 对象存储绘制方法的数据

  • 以编程方式定义用于绘制形状的路径(用单个操作)

  • 定义缠绕规则,以确定如何填充重叠形状

  • 读取显示对象的矢量图形内容,如序列化并保存图形数据、在运行时生成 Sprite 表以及绘制矢量图形内容的副本

  • 使用三角形和绘制方法实现三维效果

重要概念和术语

以下参考列表包含本节中会遇到的重要术语:

  • 矢量:数据类型完全相同的值组成的数组。Vector 对象可存储绘制方法使用单个命令构建线条和形状时所用值的数组。有关 Vector 对象的详细信息,请参阅索引数组

  • 路径:路径由一条或多条直线段或曲线段组成。每个线段的起点和终点都由坐标标记,就像用于固定线的针。路径可以是闭合的,例如圆;也可以是开放的,且具有不同的端点,例如波浪线。

  • 缠绕:由渲染器解释的路径方向,包括正向(顺时针)或负向(逆时针)。

  • GraphicsStroke:用于设置线条样式的类。虽然“笔触”并非绘图 API 增强功能中的术语,但使用类以线条样式自身的填充属性来指定该线条样式却是新绘图 API 功能的一部分。您可以使用 GraphicsStroke 类动态调整线条的样式。

  • Fill 对象:使用 flash.display.GraphicsBitmapFill 和 flash.display.GraphicsGradientFill 等传递给绘图命令 Graphics.drawGraphicsData() 的显示类所创建的对象。Fill 对象和增强的绘图命令引入了一种面向对象程度更高的编程方法,用于复现 Graphics.beginBitmapFill()Graphics.beginGradientFill() 的效果。