描画 API の高度な使用

Flash Player 10 以降、Adobe AIR 1.5 以降

Flash Player 10 および Adobe AIR 1.5 以降の Flash ランタイムでは、高度な描画機能のサポートが導入されています。これらのランタイムの描画 API は、従来のリリースからある描画メソッドを拡張し、シェイプの生成、実行時のシェイプ変更、3 次元効果の作成などを実行するためのデータセットを確立するものです。既存の各種メソッドは、この描画 API 拡張の提供する代替コマンド群として統合されています。それらのコマンドでは、描画メソッド用のデータセットはベクター配列と列挙クラスによって表されます。ベクター配列を使用するとさらに複雑なシェイプを速くレンダリングでき、開発者は配列の値をプログラムで変更して実行時にシェイプを動的にレンダリングできます。

Flash Player 10 で導入された描画機能については、パスの描画ワインディング規則の定義グラフィックスデータクラスの使用、およびdrawTriangles() の使用についての各節で説明します。

ActionScript の高度な描画 API を使用すると、次のような作業を実行できます。

  • Vector オブジェクトを使用して描画メソッド用のデータを格納する

  • 1 つの操作でプログラムでシェイプを描画するためのパスを定義する

  • 重なり合うシェイプを塗りつぶす方法を決定するワインディング規則を定義する

  • グラフィックスデータの直列化と保存、実行時のスプライトシートの生成、ベクターグラフィックスコンテンツのコピーの描画などのために、表示オブジェクトのベクターグラフィックスコンテンツを読み取る

  • 3 次元効果用に三角形と描画メソッドを使用する

重要な概念と用語

次の参照リストに、この節で使用する重要な用語を示します。

  • ベクター:すべてが同じデータ型の値の配列。Vector オブジェクトは、描画メソッドが 1 つのコマンドで線やシェイプを作成するのに使用する値の配列を格納できます。Vector オブジェクトの詳細については、インデックス配列を参照してください。

  • パス:1 つ以上の直線または曲線のセグメントで構成されます。各セグメントの始点と終点は座標で示され、ワイヤーを固定するピンのような働きをします。パスには、クローズパス(例えば、円)と離れた端点をもつオープンパス(例えば、波形線)とがあります。

  • ワインディング:レンダラーによって解釈されるパスの方向。正(時計回り)または負(反時計回り)です。

  • GraphicsStroke:線のスタイルを設定するためのクラス。Stroke(線)という用語は今回の描画 API 拡張に属する概念ではありませんが、クラス自体の塗りプロパティによって線のスタイルを指定する使用法は新しい描画 API で導入されたものです。GraphicsStroke クラスを使用すると、線のスタイルを動的に調節できます。

  • Fill オブジェクト:flash.display.GraphicsBitmapFill や flash.display.GraphicsGradientFill などの新しい表示クラスを使用して作成され、描画コマンド Graphics.drawGraphicsData() に渡されるオブジェクト。Fill オブジェクトと拡張された描画コマンドでは、Graphics.beginBitmapFill() および Graphics.beginGradientFill() に相当する機能が、従来よりもオブジェクト指向を強めたプログラミング手法で実装されています。