メインページ | パッケージ | クラス構成 | 索引 | ヘルプ

com.mosesSupposes.fuse

FuseFMP クラス

Object
  |
  +--com.mosesSupposes.fuse.FuseFMP


class FuseFMP
extends Object

Flash8 の BitmapFilter の操作を簡単にできるようになります。 単独のユーティリティーとしても使えますし、ZigoEngine や Fuse のアニメーションフィルターと一緒に使う事もできます。

FuseFMP では BitmapFilter のプロパティにアクセスするための独特の命名規則があります:

short-filtername+"_"+filterprop
(フィルタ名+"_"+フィルタプロパティ名)

DropShadow_distance
Bevel_angle
のように指定します。

この命名規則は、setFilterProp をはじめ、多くのメソッドにて使用されます。


Blur に関して補足:


FuseFMP.getAllShortcuts や FuseFMP.traceAllFilters メソッドを使えば、FuseFMP の全プロパティのリストを見る事ができます。


FuseFMP はalso supports its own optional Shortcuts functionality, which writes all of these pseudo-props into targets or prototypes. これにより、 my_mc.Blur_blurX = 10;のように、ターゲーットに直接 BitmapFilter のプロパティを設定/取得する事ができます。また、ZigoEngine を使用すれば、my_mc.Blur_blurXTo(10); のようなトゥイーンのショートカット記法も利用できます。

FuseFMPトゥイーンメソッドの一覧リストは、Shortcutsドキュメントにてご覧頂けます。
ZigoEngine を使わずに、FuseFMP だけを使い、simpleSetup を利用してプロトタイプを拡張したい場合や、特定のターゲットにショートカットを追加&削除させたい場合は、 initializedeinitialize を利用してください。

一旦登録しておけば、FuseFMP の疑似プロパティは、ZigoEngine や Fuse クラスにて、直接トゥイーン指定することも可能です:

// 現在の状態から、反時計回りに(現在値との相対値で)25°のドロップシャドウをトゥイーンさせる:
ZigoEngine.doTween(my_mc, "DropShadow_angle", "-25");
 
// この fuse アクションでは、水平ブラーからブラーなし(クリップの通常状態)にトゥイーンします
Fuse.push({ start_Blur_blurX:100 });



BitmapFilter に関する tips :

使用法:
// 1. 通常使用の場合
FuseFMP.writeFilter(clip1, "DropShadow"); 
FuseFMP.setFilterProp(box, "DropShadow_color", 0x336699);
 
// 2. ZigoEngine にShortcuts クラスを登録した場合
//    (あるいは、ZigoEngine なしでも、FuseFMP.simpleSetup を呼び出した場合)
 
clip1.writeFilter("DropShadow");
clip1.DropShadow_color = "#336699"; // カラー値を文字列で指定できます
clip1.DropShadow_blur = 10; // blurX と blurY を同時に指定できます
 

作成者:
Moses Gunesch / MosesSupposes.com / Based on FMP 1.0 by Danilo Sandner & Bjorn Wibben
バージョン:
2.0.5

フィールドの概要

public static
BLUR_ZERO: Boolean
true の時、生成された BlurFilters の blurX と blurY を0に設定しておけます。あとからの変更も可能。

public static
VERSION: String
ランタイム時や swf をデコンパイルした際に、FuseKit のバージョンを確認する事ができます。

メソッドの概要

public static
deinitialize ( ): Void
特定のターゲット、ターゲット指定のない場合はベースのプロトタイプから、shortcuts クラスを削除します。

public static
getAllShortcuts ( ): Array
利用できるプロパティのショートカットストリングを配列にして一覧を取得できます。traceAllFilters とほぼ同じ機能です。

public static
getFilter ( target: Object, filter: Object, createNew: Boolean ): BitmapFilter
フィルタインスタンスを取得できます。オプションとして、対象のフィルタが存在しない場合に、新規フィルタとして生成させることもできます。

public static
getFilterIndex ( target: Object, filter: Object ): Number
指定されたフィルタのインデックス番号を取得できます。

public static
getFilterName ( instance: BitmapFilter ): String
フィルタインスタンスのクラス名を文字列で取得できるジェネリックなメソッド。

public static
getFilterProp ( target: Object, propname: String, createNew: Boolean ): Object
フィルタのプロパティ値を取得できます。オプションとして、対象のフィルタが存在しない場合に、新規フィルタとして生成させることもできます。

public static
initialize ( target: Object ): Void
指定されたターゲットに shortcuts を追加します。

public static
removeFilter ( target: Object, filter: Object ): Boolean
フィルタを削除します。

public static
setFilterProp ( target: Object, propname: Object, value: Object ): Void
フィルタのプロパティ値を設定できます。オプションとして、対象のフィルタが存在しない場合に、新規フィルタとして生成させることもできます。

public static
setFilterProps ( target: Object, filterOrPropsObj: Object, propsObj: Object ): Void
一回の呼び出しで、複数のターゲット・プロパティ・フィルタを操作できるメソッドです。 必要に応じて新規フィルタとして生成されます。

public static
simpleSetup ( ): Void
ムービークリップ、ボタン、テキストフィールドのプロトタイプを FuseFMP shortcuts で拡張します。

public static
traceAllFilters ( ): Void
出力パネルに、全フィルタと、( Bevel_blurX 等の)ショートカットプロパティをリストアップします。

public static
writeFilter ( target: Object, filter: Object, propsObj: Object ): Number
新規フィルタの追加や、既存フィルタの上書き処理を行います。

フィールドの詳細

BLUR_ZERO

public static var BLUR_ZERO: Boolean
true の時、生成された BlurFilters の blurX と blurYを0に設定しておけます。あとからの変更も可能。
FuseFMP では、新規 BitmapFilters はデフォルトのプロパティが設定された状態で生成されますが、BlurFilter は、特例として、ブラーのデフォルト値が4に設定されていたため、ブラーなしの状態にするためには、ブラー値を0にせよというコードを、余計に記述しなければいけませんでした。

例えば、(事前にブラーがかかっていない状況で)BLUR_ZERO プロパティが false の場合、次の Fuse アクション {start_Blur_blurX:100} では Blur_blurY は4、 blurX は100から4にトゥイーンするので、ターゲットは、少しぼやけたままの状態となります。BLUR_ZERO を true にして、同様のアクションを実行すると、blurYは適応されず、blurX が100から0にトゥイーンし、ターゲットはクッキリとした状態で止まります。

VERSION

public static var VERSION: String
ランタイム時やswfをデコンパイルした際に、FuseKitのバージョンを確認する事ができます。
使用法:
trace(FuseFMP.VERSION); // バージョンが正しくない場合は、ASO ファイルのキャッシュをクリアしてみてください。

メソッドの詳細

deinitialize

public static function deinitialize(): Void
特定のターゲット、ターゲット指定のない場合はベースのプロトタイプから、shortcuts クラスを削除します。
関連:

getAllShortcuts

public static function getAllShortcuts(): Array
利用できるプロパティのショートカットストリングを配列にして一覧を取得できます。traceAllFiltersとほぼ同じ機能です。
返り値:
利用可能なプロパティのショートカットを格納した配列。
関連:

getFilter

public static function getFilter(target: Object,
 filter: Object,
 createNew: Boolean): BitmapFilter
フィルタインスタンスを取得できます。オプションとして、対象のフィルタが存在しない場合に、新規フィルタとして生成させることもできます。
引数:
target
フィルタが設定されているムービークリップ・ボタン・テキストフィールド
filter
検索対象の BitmapFilter インスタンスを、"BlurFilter" や "Blur" といった文字列、またはクラスコンストラクタ名で指定します
createNew
true にしておけば、対象のフィルタが見つからない場合に、そのフィルタを生成してくれます
返り値:
BitmapFilter インスタンス。または createNew オプションを未設定で、対象フィルタが見つからない場合は null を返します。
関連:

getFilterIndex

public static function getFilterIndex(target: Object,
 filter: Object): Number
指定されたフィルタのインデックス番号を取得できます。
引数:
target
フィルタが設定されているムービークリップ、ボタン、テキストフィールド
filter
検索対象の BitmapFilter インスタンスを、"BlurFilter" や "Blur" といった文字列、またはクラスコンストラクタ名で指定します
返り値:
フィルタ配列中の、対象フィルタのインデックス番号、対象フィルタが存在しない時は -1 を返します。
関連:

getFilterName

public static function getFilterName(instance: BitmapFilter): String
フィルタインスタンスのクラス名を文字列で取得できるジェネリックなメソッド。
// my_mc に設定されているフィルタ名を出力ウィンドウにリストアップする
for (var i:String in my_mc.filters) {
	trace( FuseFMP.getFilterName(my_mc.filters[i]) );
}
引数:
instance
BitmapFilter インスタンス
返り値:
BitmapFilterインスタンス名
関連:

getFilterProp

public static function getFilterProp(target: Object,
 propname: String,
 createNew: Boolean): Object
フィルタのプロパティ値を取得できます。オプションとして、対象のフィルタが存在しない場合に、新規フィルタとして生成させることもできます。
引数:
target
フィルタが設定されているムービークリップ、ボタン、テキストフィールド
propname
'DropShadow_distance' のような、 FuseFMP のプロパティ名にて指定します
createNew
true にしておけば、対象のフィルタが見つからない場合に、そのフィルタを生成してくれます
返り値:
プロパティの値(通常は数値です)
関連:

initialize

public static function initialize(target: Object): Void
(引数として渡された)全オブジェクトに shortcuts を追加します。
これにより、ターゲットに直接 BitmapFilter プロパティを設定/取得できるようになります。プロパティ名は FuseFMP の命名規則 [short-filtername+"_"+filterprop] にのっとり、'DropShadow_angle'という風にして利用します。

ショートカットプロパティの全リストを見たい時は、FuseFMP.getAllShortcuts や FuseFMP.traceAllFilters メソッドをご利用下さい。

引数:
target
shortcuts クラスを追加したい、単体または複数のムービークリップ・テキストフィールド・ボタン。
関連:

removeFilter

public static function removeFilter(target: Object,
 filter: Object): Boolean
Clears filter.
引数:
target
フィルタが設定されているムービークリップ、ボタン、テキストフィールド
filter
削除したい BitmapFilter インスタンスを、"BlurFilter" や "Blur" といった文字列、またはクラスコンストラクタ名で指定します
返り値:
成否により、true か false を返します。
関連:

setFilterProp

public static function setFilterProp(target: Object,
 propname: Object,
 value: Object): Void
フィルタのプロパティ値を設定できます。オプションとして、対象のフィルタが存在しない場合に、新規フィルタとして生成させることもできます。
参考:スピード重視の方は、3つ以上のプロパティを設定する時は setFilterProps の使用をお奨めします。
使用法:
FuseFMP.setFilterProp(my_mc, 'Blur_blurX', 50);
 
FuseFMP.setFilterProp(my_mc, 'GradientBevel_colors', [0xFFFFFF, 0x000000, 0x333333]);
更新するプロパティの数が1〜2個の時は、このメソッドを使った方が速いです。
引数:
target
フィルタを適応させたいムービークリップ・ボタン・テキストフィールド
propname
'DropShadow_distance' のような、 FuseFMP のプロパティ名にて指定します
value
フィルタのプロパティに設定する値
関連:

setFilterProps

public static function setFilterProps(target: Object,
 filterOrPropsObj: Object,
 propsObj: Object): Void
一回の呼び出しで、複数のターゲット・プロパティ・フィルタを操作できるメソッドです。 必要に応じて新規フィルタとして生成されます。
writeFiltersetFilterProp メソッドの代わりに使用できる、万能なメソッドです。
使用法:
2種類の異なる記述法があります。
  1. 第2引数に、完全な FuseFMP 表記のプロパティ名("Blur_blurX" とかです)を指定する方法で、一度に何種類ものフィルタをかけることができます:
    FuseFMP.setFilterProps(my_mc, { Blur_blurX:50, Bevel_blurX:1 });.
  2. 第2引数でフィルタ名を指定し、第3引数に、通常のフィルタプロパティ名を使った汎用オブジェクトを指定する方法:
    FuseFMP.setFilterProps(my_mc, 'Blur', { blurX:50, blurY:0, quality:3 });
どちらの場合も、複数ターゲットを配列に格納し、指定できます:
FuseFMP.setFilterProps([my_mc, my_txt], 'Blur', { blur:20 });

指定されたフィルタが存在しない時は、そのフィルタが自動的に生成されます。

参考:スピード重視の型は、更新するプロパティの数が1〜2個の時は setFilterProp メソッドを使った方が効率が良いです。逆に、3つ以上のプロパティを扱う場合は、このメソッドの方が速いです。
引数:
target
フィルタを適応させたいムービークリップ・ボタン・テキストフィールド、またはそれらを格納した配列
filterOrPropsObj
フィルタ名( "BlurFilter" や "Blur" といった BitmapFilter インスタンス名、もしくはクラスコンストラクタ名)で指定できます。あるいは、汎用オブジェクトとして、任意の種類の FuseFMP 表記のプロパティ名(例:Blur_blurX:10)を好きなだけ指定することもできます
propsObj
前の引数(第2引数)をフィルタ名で指定した場合:distance:10 というふうに、フィルタプロパティ名を使った汎用オブジェクトを(任意の個数:有効なプロパティ名に限る)指定できます。
関連:

simpleSetup

public static function simpleSetup(): Void
ムービークリップ・ボタン・テキストフィールドのプロトタイプを FuseFMP shortcuts で拡張します
これにより、「 short-filtername+"_"+filterprop (フィルタ名+"_"+フィルタプロパティ名)」という記法で、ターゲットに直接 BitmapFilter を設定/取得できるようになります。

FuseFMP.getAllShortcuts や FuseFMP.traceAllFilters メソッドを使えば、全ショートカットプロパティのリストを見る事ができます。

Also sets _global references to FuseFMP and all filter classes so timeline coders can avoid using import statements.

ZigoEngine.simpleSetup を使っている場合は、このメソッドも自動的に呼び出されている事になるので、わざわざ別途このメソッドを呼び出す必要はありません。
関連:

traceAllFilters

public static function traceAllFilters(): Void
出力パネルに、全フィルタと、( Bevel_blurX 等の)ショートカットプロパティをリストアップします。
関連:

writeFilter

public static function writeFilter(target: Object,
 filter: Object,
 propsObj: Object): Number
新規フィルタの追加や、既存フィルタの(初期化)上書き処理を行います。
既存フィルタの更新(前の設定を残しつつ上書き)したい時は setFilterProps メソッドをご使用下さい - このwhiteFilterメソッドは既存のインスタンスを(初期化)上書きします。
引数:
target
フィルタを利用しているムービークリップ、ボタン、テキストフィールド
filter
追加したい BitmapFilter インスタンスを、"BlurFilter" や "Blur" といった文字列、またはクラスコンストラクタ名で指定します
propsObj
{blurX:50,quality:1}のように、新規追加フィルタをさらにプロパティ指定したい時に、汎用オブジェクトを使って指定できます
返り値:
対象となるターゲットのフィルタ配列のインデックス番号(失敗したときは -1)
関連:

このドキュメントは次のファイルを元に作られています:

Generated on 1/16/2007 10:29:13 PM