JavaScript API オブジェクト

この節では、Flash JavaScript API で使用できるオブジェクトの一覧とその操作方法を示します。標準のすべての JavaScript コマンドは、JavaScript API を操作するときに使用することもできます。

次の表に、JavaScript API の各オブジェクトを簡単に示します。オブジェクトはアルファベット順に示されています。

オブジェクト

説明

actionsPanel オブジェクト

actionsPanel オブジェクトは、現在表示されているアクションパネルを表します。

BitmapInstance オブジェクト

BitmapInstance オブジェクトは、Instance オブジェクトのサブクラスで、フレームのビットマップを表します。

BitmapItem オブジェクト

BitmapItem オブジェクトは、ドキュメントのライブラリにあるビットマップに相当します。 BitmapItem オブジェクトは、Item オブジェクトのサブクラスです。

CompiledClipInstance オブジェクト

CompiledClipInstance オブジェクトは、Instance オブジェクトのサブクラスです。

compilerErrors オブジェクト

compilerErrors オブジェクトは、コンパイルエラーパネルを表します。このオブジェクトは、flash オブジェクト(fl.compilerErrors)のプロパティです。

ComponentInstance オブジェクト

ComponentInstance オブジェクトは、SymbolInstance オブジェクトのサブクラスで、フレーム上のコンポーネントを表します。

componentsPanel オブジェクト

componentsPanel オブジェクトは、コンポーネントパネルを表します。flash オブジェクト(fl.componentsPanel)のプロパティです。

Contour オブジェクト

Contour オブジェクトは、シェイプの境界にあるハーフエッジの閉じたパスを表します。

Document オブジェクト

Document オブジェクトは、ステージを表します。

drawingLayer オブジェクト

drawingLayer オブジェクトは、JavaScript から Flash オブジェクトの子としてアクセスできます。

Edge オブジェクト

Edge オブジェクトは、ステージ上のシェイプのエッジを表します。

Element オブジェクト

ステージにあるすべてのエレメントの種類は Element です。

Fill オブジェクト

Fill オブジェクトには、ツールパネルまたは選択したシェイプの塗りのカラー設定のすべてのプロパティがあります。

Filter オブジェクト

Filter オブジェクトには、すべてのフィルターのすべてのプロパティがあります。

flash オブジェクト(fl)

flash オブジェクトは、Flash アプリケーションを表します。

FLfile オブジェクト

FLfile オブジェクトを使用すると、ローカルファイルシステム上のファイルとフォルダーにアクセスしたり、修正および削除したりするための Flash 拡張機能を記述することができます。

folderItem オブジェクト

folderItem オブジェクトは、Item オブジェクトのサブクラスです。

fontItem オブジェクト

fontItem オブジェクトは、Item オブジェクトのサブクラスです。

Frame オブジェクト

Frame オブジェクトは、レイヤーのフレームを表します。

HalfEdge オブジェクト

Shape オブジェクトのエッジの指定サイドです。

Instance オブジェクト

Instance オブジェクトは、Element オブジェクトのサブクラスです。

Item オブジェクト

Item オブジェクトは、抽象基本クラスです。

Layer オブジェクト

Layer オブジェクトは、タイムラインにあるレイヤーを表します。

library オブジェクト

library オブジェクトは、ライブラリパネルを表します。

Math オブジェクト

Math オブジェクトは、flash オブジェクト(fl.Math)の読み取り専用プロパティとして使用できます。

Matrix オブジェクト

Matrix オブジェクトは、変換マトリックスを表します。

outputPanel オブジェクト

outputPanel オブジェクトは、出力パネルを表します。シンタックスエラーなどのトラブルシューティング情報を表示します。 このオブジェクトは、flash オブジェクト(fl.outputPanel)のプロパティです。

Oval オブジェクト

Oval オブジェクトは、楕円ツールを使用して描画されるシェイプです。 アイテムが Oval オブジェクトかどうかを調べるには、shape.isOvalObject を使用します。

Parameter オブジェクト

Parameter オブジェクト型は、screen.parameters 配列(Flash オーサリングツールのスクリーンのプロパティインスペクターに対応)または componentInstance.parameters 配列(オーサリングツールのコンポーネントのプロパティインスペクターに対応)によってアクセスされます。

Path オブジェクト

Path オブジェクトは、線のセグメント(直線、曲線または両方)のシーケンスを定義します。このシーケンスは通常、拡張ツールを作成する場合に使用します。

presetItem オブジェクト

presetItem オブジェクトは、モーションプリセットパネル内のアイテム(プリセットまたはフォルダー)を表します。

presetPanel オブジェクト

presetPanel オブジェクトは、モーションプリセットパネル(ウィンドウ/モーションプリセット)を表します。このオブジェクトは、flash オブジェクト(fl.presetPanel)のプロパティです。

Rectangle オブジェクト

Rectangle オブジェクトは、矩形ツールを使用して描画されるシェイプです。 アイテムが Rectangle オブジェクトかどうかを調べるには、shape.isRectangleObject を使用します。

Screen オブジェクト

Screen オブジェクトは、スライドまたはフォームドキュメント内の 1 つのスクリーンを表します。

ScreenOutline オブジェクト

ScreenOutline オブジェクトは、スライドまたはフォームドキュメント内のスクリーンのグループを表します。

Shape オブジェクト

Shape オブジェクトは、Element オブジェクトのサブクラスです。 Shape オブジェクトは、ステージで図形座標を操作または作成するときに、drawing API よりも精度を高くすることができます。

SoundItem オブジェクト

SoundItem オブジェクトは、Item オブジェクトのサブクラスです。 このオブジェクトは、サウンドを作成するのに使用するライブラリアイテムを表します。

Stroke オブジェクト

Stroke オブジェクトは、カスタム設定など、線に関するすべての設定を含みます。

swfPanel オブジェクト

swfPanel オブジェクトは、Windows SWF パネルを表します。Windows SWF パネルは、Flash オーサリング環境から実行できるアプリケーションを実装する SWF ファイルです。swfPanel オブジェクトの配列は、flash オブジェクト(fl.swfPanels)のプロパティです。

SymbolInstance オブジェクト

SymbolInstance オブジェクトは、Instance オブジェクトのサブクラスで、フレームのシンボルを表します。

SymbolItem オブジェクト

SymbolItem オブジェクトは、Item オブジェクトのサブクラスです。

Text オブジェクト

Text オブジェクトは、ドキュメント内の 1 つのテキストアイテムを表します。

TextAttrs オブジェクト

TextAttrs オブジェクトは、ダイレクト選択範囲に適用できるテキストのすべてのプロパティを含みます。 このオブジェクトは、Text オブジェクトのサブクラスです。

TextRun オブジェクト

TextRun オブジェクトは、TextAttrs オブジェクトのすべてのプロパティと一致する属性を持つ連続した文字を表します。

Timeline オブジェクト

Timeline オブジェクトは、Flash タイムラインを表します。現在のドキュメントのタイムラインにアクセスするには、fl.getDocumentDOM().getTimeline() を使用します。

ToolObj オブジェクト

ToolObj オブジェクトは、ツールパネルの各ツールを表します。

Tools オブジェクト

Tools オブジェクトは、Flash オブジェクト(fl.tools)からアクセスできます。

Vertex オブジェクト

Vertex オブジェクトは、座標データを保持するシェイプデータ構造の一部です。

VideoItem オブジェクト

VideoItem オブジェクトは、Item object オブジェクトのサブクラスです。

XMLUI オブジェクト

XMLUI オブジェクトは、XMLUI ダイアログボックスのプロパティを取得、設定することができます。受け取ることもキャンセルすることもできます。

Flash ドキュメントオブジェクトモデル(DOM)

Flash JavaScript API の Flash ドキュメントオブジェクトモデル(DOM)は、1 組のトップレベル関数(トップレベル関数とメソッドを参照)と、FLfile オブジェクトおよび Flash オブジェクト(fl)の 2 つのトップレベルオブジェクトで構成されます。いずれのオブジェクトも、Flash オーサリング環境を開いている場合には必ず存在するので、いつでもスクリプトで使用できます。 詳しくは、FLfile オブジェクトおよび flash オブジェクト(fl)を参照してください。

Flash オブジェクトを参照する場合は、flash または fl を使用します。例えば、開いている FLA ファイルをすべて閉じるには、次のいずれかのステートメントを使用します。

flash.closeAll(); 
fl.closeAll();

Flash オブジェクトには、次に示す子オブジェクトがあります。

オブジェクト

アクセス方法

actionsPanel オブジェクト

actionsPanel オブジェクトにアクセスするには、fl.actionsPanel を使用します。 このオブジェクトは、Flash オーサリング環境のアクションパネルに相当します。

compilerErrors オブジェクト

compilerErrors オブジェクトにアクセスするには、fl.compilerErrors を使用します。 このオブジェクトは、Flash オーサリング環境のコンパイルエラーパネルに相当します。

componentsPanel オブジェクト

componentsPanel オブジェクトにアクセスするには、fl.componentsPanel を使用します。 このオブジェクトは、Flash オーサリング環境のコンポーネントパネルに相当します。

Document オブジェクト

開いているすべてのドキュメントの配列を取得するには、fl.documents を使用します。特定のドキュメントにアクセスするには、fl.documents[index] を使用します。現在のドキュメント(フォーカスのあるドキュメント)にアクセスするには、fl.getDocumentDOM() を使用します。

drawingLayer オブジェクト

drawingLayer オブジェクトにアクセスするには、fl.drawingLayer を使用します。

Math オブジェクト

Math オブジェクトにアクセスするには、fl.Math を使用します。

outputPanel オブジェクト

outputPanel オブジェクトにアクセスするには、fl.outputPanel を使用します。 このオブジェクトは、Flash オーサリング環境の出力パネルに相当します。

presetPanel オブジェクト

presetPanel オブジェクトにアクセスするには、fl.presetPanel を使用します。 このオブジェクトは、モーションプリセットパネル(ウィンドウ/モーションプリセット)に対応しています。

swfPanel オブジェクト

swfPanel オブジェクトの配列にアクセスするには、fl.swfPanels を使用します。 これらのオブジェクトは、Window SWF パネルに対応しています。

Tools オブジェクト

Tools オブジェクトの配列にアクセスするには、fl.tools を使用します。

XMLUI オブジェクト

XML User Interface(XMLUI)オブジェクトにアクセスするには、fl.xmlui を使用します。 XMLUI オブジェクトを使用すると、XMLUI ダイアログボックスのプロパティを取得、設定することができます。

Document オブジェクト

トップレベル Flash オブジェクトの重要なプロパティは fl.documents プロパティです。このプロパティは、現在オーサリング環境で開いている FLA ファイルを表す Document オブジェクトの配列を含んでいます。各 Document オブジェクトのプロパティは、FLA ファイルに含めることができるほとんどのエレメントを表します。 したがって、DOM の大部分は Document オブジェクトの子オブジェクトとプロパティで構成されます。 詳しくは、Document オブジェクトを参照してください。

例えば、最初に開いたドキュメントを参照するには、flash.documents[0] ステートメントまたは fl.documents[0] ステートメントを使用します。最初のドキュメントは、オーサリング環境の現在のセッションで開いた最初の Flash ドキュメントになります。 最初に開いたドキュメントを閉じると、開いている他のドキュメントのインデックスがデクリメントされます。

特定のドキュメントのインデックスを検索するには、flash.findDocumentIndex(nameOfDocument) または fl.findDocumentIndex(nameOfDocument) を使用します。fl.findDocumentIndex() を参照してください。

現在フォーカスのあるドキュメントにアクセスするには、flash.getDocumentDOM() ステートメントまたは fl.getDocumentDOM() ステートメントを使用します。fl.getDocumentDOM() を参照してください。後者は、このドキュメントのほとんどの例で使用しているシンタックスです。

fl.documents 配列にある特定のドキュメントを検索するには、配列内を順に検索し、各ドキュメントの document.name プロパティを確認します。fl.documents および document.name を参照してください。

前の表にない DOM のすべてのオブジェクト(Flash ドキュメントオブジェクトモデル(DOM)を参照)は、Document オブジェクトからアクセスします。例えば、ドキュメントのライブラリにアクセスするには、document.library プロパティを使用して、library オブジェクトを取得します。

fl.getDocumentDOM().library

ライブラリのアイテムの配列にアクセスするには、library.items プロパティを使用します。配列の各エレメントは Item オブジェクト です。

fl.getDocumentDOM().library.items

ライブラリの特定のアイテムにアクセスするには、library.items 配列のメンバーを指定します。

fl.getDocumentDOM().library.items[0]

つまり、library オブジェクトは Document オブジェクトの子オブジェクトであり、Item オブジェクトは library オブジェクトの子オブジェクトになります。 詳しくは、document.librarylibrary オブジェクトlibrary.itemslibrary.items および Item オブジェクトを参照してください。

アクションのターゲットの指定

特に指定しない限り、現在のフォーカスまたは選択箇所にメソッドが適用されます。 例えば、次のスクリプトでは、特定のオブジェクトを指定していないので、現在の選択箇所のサイズが 2 倍になります。

fl.getDocumentDOM().scaleSelection(2, 2); 

また、Flash ドキュメントの現在選択しているアイテムをターゲットにしてアクションを実行する必要がある場合もあります。 この場合は、document.selection プロパティにある配列を使用します(document.selectionを参照してください)。次の例に示すように、配列の最初のエレメントは、現在選択されているアイテムを表します。

var accDescription = fl.getDocumentDOM().selection[0].description; 

次のスクリプトは、現在の選択箇所ではなく、エレメント配列に保存されているステージの最初のエレメントのサイズを 2 倍にします。

var element = fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements[0]; 
if (element) { 
    element.width = element.width*2; 
    element.height = element.height*2; 
} 

さらに、次の例に示すように、ステージのすべてのエレメントをループして、指定したサイズで幅と高さを増やすことなどもできます。

var elementArray = 
    fl.getDocumentDOM().getTimeline().layers[0].frames[0].elements; 
    for (var i=0; i < elementArray.length; i++) { 
        var offset = 10; 
        elementArray[i].width += offset; 
        elementArray[i].height += offset; 
    }

DOM 構造の概要

次のリストに、DOM 構造をアウトラインフォーマットで示します。 各行の先頭にある数字はオブジェクトのレベルを示します。 たとえば、「03」で表されるオブジェクトは高位の「02」オブジェクトの子になり、この「02」オブジェクトは、さらに高位の「01」オブジェクトの子になります。

親オブジェクトのプロパティを指定することでオブジェクトが使用可能になる場合もあります。 たとえば、document.timelines プロパティは Timeline オブジェクトの配列を含んでいます。これらのプロパティについては次のアウトラインで示しています。

オブジェクトの中には、他のオブジェクトの子オブジェクトではなく、オブジェクトのサブクラスになっているものもあります。別のオブジェクトのサブクラスであるオブジェクトには、スーパークラスオブジェクトのメソッドとプロパティの他に、独自のメソッドや親オブジェクトのプロパティがあります。 サブクラスオブジェクトは、スーパークラスオブジェクトと同じ階層レベルを共有します。 たとえば、Item オブジェクトは BitmapItem オブジェクトのスーパークラスです。これらの関係については次のアウトラインで示しています。

01 Top-Level Functions and Methods 
01 FLfile object 
01 flash object (fl) 
  02 compilerErrors object 
  02 componentsPanel object 
  02 Document object (fl.documents array) 
    03 Filter object 
    03 Matrix object 
    03 Fill object 
    03 Stroke object 
    03 library object 
      04 Item object (library.items array) 
      04 BitmapItem object(subclass of Item object) 
      04 folderItem object (subclass of Item object) 
      04 fontItem object (subclass of Item object) 
      04 SoundItem object (subclass of Item object) 
      04 SymbolItem object (subclass of Item object) 
      04 VideoItem object (subclass of Item object) 
    03 Timeline object (document.timelines array) 
      04 Layer object (timeline.layers array) 
        05 Frame object (layer.frames array) 
          06 Element object (frame.elements array) 
            07 Matrix object (element.matrix) 
          06 Instance object (abstract class, subclass of Element object) 
          06 BitmapInstance object (subclass of Instance object) 
          06 CompiledClipInstance object (subclass of Instance object) 
          06 ComponentInstance object (subclass of SymbolInstance object) 
            07 Parameter object (componentInstance.parameters array) 
          06 SymbolInstance object (subclass of Instance object) 
          06 Text object (subclass of Element object) 
            07 TextRun object (text.textRuns array) 
              08 TextAttrs object (textRun.textAttrs array) 
          06 Shape object (subclass of Element object) 
            07 Oval object 
            07 Rectangle object 
            07 Contour object (shape.contours array) 
              08 HalfEdge object 
                09 Vertex object 
                09 Edge object 
            07 Edge object (shape.edges array) 
              08 HalfEdge object 
                09 Vertex object 
                09 Edge object 
            07 Vertex object(shape.vertices array) 
              08 HalfEdge object 
                09 Vertex object 
                09 Edge object 
        05 Parameter object (screen.parameters array) 
  02 drawingLayer object 
    03 Path object 
      04 Contour object 
  02 Math object 
  02 outputPanel object 
  02 presetPanel object 
    03 presetItem object(presetPanel.items array) 
  02 swfPanel object 
  02 Tools object (fl.tools array) 
    03 ToolObj object (tools.toolObjs array) 
  02 XMLUI object