Flash CS3 ドキュメンテーション |
|||
| ActionScript 2.0 リファレンスガイド > ActionScript クラス > TextField > filters (TextField.filters プロパティ) | |||
public filters : Array
テキストフィールドに現在関連付けられている各フィルタオブジェクトが格納されている、インデックスの配列。flash.filters パッケージには、使用できる特定のフィルタを定義する複数のクラスが含まれています。
フィルタは、ActionScript コードを使用して、設計時または実行時に Flash オーサリングツールで適用できます。ActionScript を使用してフィルタを適用するには、TextField.filters 配列全体の一時コピーを作成してその一時配列を変更した後、一時配列の値を TextField.filters 配列に代入し直す必要があります。新しいフィルタオブジェクトを TextField.filters 配列に直接追加することはできません。次のコードは、myTextField という名前のターゲットテキストフィールドには影響しません。
myTextField.filters[0].push(myDropShadow);
ActionScript を使用してフィルタを追加するには、次の手順を実行する必要があります。ターゲットムービークリップの名前は myTextField とします。
myTextField.filters 配列の値を、myFilters などの名前の一時配列に割り当てます。myFilters に追加します。myTextField.filters 配列に代入します。filters 配列が空の場合、一時配列を使用する必要はありません。代わりに、作成したフィルタオブジェクトを格納する配列リテラルを直接代入することができます。
設計時または実行時に作成されたかどうかに関わらず、既存のフィルタオブジェクトを変更するには、次の方法で filters 配列のコピーを変更する必要があります。
myTextField.filters 配列の値を、myFilters などの名前の一時配列に割り当てます。myFilters を使用してプロパティを変更します。たとえば、配列内の最初のフィルタの quality プロパティを設定するには myList[0].quality = 1; というコードを使用できます。myTextField.filters 配列に代入します。テキストフィールドのフィルタをクリアするには、filters を空の配列 ([]) に設定します。
複数のフィルタを格納する filters 配列を使用していて、各配列インデックスに割り当てられているフィルタの種類を追跡する必要がある場合、独自の filters 配列を維持し、別のデータ構造を使用して、各配列インデックスに関連付けられているフィルタの種類を追跡できます。filters 配列の各インデックスに関連付けられているフィルタの種類を簡単に判別する方法はありません。
対応バージョン : ActionScript 1.0、Flash Player 8
次の例では、フィールド myTextField にドロップシャドウフィルタを追加します。
var myDropFilter = new flash.filters.DropShadowFilter(); var myFilters:Array = myTextField.filters; myFilters.push(myDropFilter); myTextField.filters = myFilters;
次の例では、配列内の最初のフィルタの quality 設定を 15 に変更します。この例は、myTextField テキストフィールドに少なくとも 1 つのフィルタオブジェクトが関連付けられている場合にのみ機能します。
var myList:Array = myTextField.filters; myList[0].quality = 15; myTextField.filters = myList;
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00002202.html