fl.findObjectInDocByType()

使用できるバージョン

Flash CS3 Professional

シンタックス

fl.findObjectInDocByType(elementType, document)

パラメータ

elementType 検索するエレメントの型を表すストリング。指定できる値については、element.elementType を参照してください。

document 指定したアイテムを検索する Document オブジェクト

戻り値

汎用オブジェクトの配列です。配列の各アイテムの .obj プロパティを使用してエレメントオブジェクトを取得します。各オブジェクトには、keyframelayertimeline、および parent の各プロパティがあります。これらのプロパティを使用して、オブジェクト階層にアクセスできます。

layer および timeline 値のメソッドおよびプロパティにもアクセスできます。これらは、Layer オブジェクト および Timeline オブジェクト と同等です。

「例」セクションの 2 番目と 3 番目の例に、これらのプロパティにアクセスする方法を示しています。

説明

メソッド。ドキュメント内で、指定したエレメント型のエレメントを見つけます。

次の例では、現在のドキュメントのテキストフィールドを検索し、テキストフィールドの内容を変更します。

var doc = fl.getDocumentDOM();
var typeToSearchFor = "text";
var results = fl.findObjectInDocByType(typeToSearchFor, doc);
if (results.length > 0) {
    for (var i = 0; i < results.length; i++) {
        results[i].obj.setTextString("new text");
    }
    alert("success, found " + results.length + " objects");
}
else { 
    alert("failed, no objects of type "" + typeToSearchFor + "" found");
}

次の例では、このメソッドから返された特殊なプロパティにアクセスする方法を示します。

var doc = fl.getDocumentDOM();
var resultsArray = findObjectInDocByType("text", doc);
if (resultsArray.length > 0)
{
    var firstItem = resultsArray[0];
    
    // firstItem.obj    - 見つかったエレメントオブジェクト 

    // このオブジェクトでは、次のプロパティにアクセスできる
    // firstItem.keyframe    - エレメントのキーフレーム
    // firstItem.layer    - キーフレームのレイヤー
    // firstItem.timeline    - レイヤーのタイムライン
    // firstItem.parent    - タイムラインの親。次に例を示します。
    //        シンボルインスタンスのタイムラインなど。 
}

次の例では、DOM をバックアップして、resultArray.obj オブジェクトを使用することで、テキストフィールドが見つかったレイヤーの名前を検出する方法を示します。

var doc = fl.getDocumentDOM();
var typeToSearchFor = "text";
var resultsArray = fl.findObjectInDocByType(typeToSearchFor, doc);
if (resultsArray.length > 0) {
    for (var i = 0; i < resultsArray.length; i++) {
        resultsArray[i].obj.setTextString("new text");
        var firstItem = resultsArray[0];
        firstItemObj = firstItem.obj;
        fl.trace(firstItemObj.layer.name+"  layerName");
    }
} else {
    alert("failed, no objects of type " + typeToSearchFor + " found");
}

関連項目

fl.findObjectInDocByName()


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00004151.html