|
Flash CS4 のリソース |
JavaScript API オブジェクトこの節では、Flash JavaScript API で使用できるオブジェクトの一覧とその操作方法を示します。標準のすべての JavaScript コマンドは、JavaScript API を操作するときに使用することもできます。 次の表に、JavaScript API の各オブジェクトを簡単に示します。オブジェクトはアルファベット順に示されています。
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 オブジェクトには、次に示す子オブジェクトがあります。
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.library、library オブジェクト、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 03 ScreenOutline object 04 Screen object (screenOutline.screens array) 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 |