Flexで埋め込みフォントを使用しないtext fieldでのエフェクト


Flexでは理由はよくわかりませんが、埋め込みフォントじゃないと
text系はエフェクトかけれないそうで。
textfieldをフェードインさせたかったのでつまったので調べてみました。

とりあえずこれが一番いいようなのでこちらでも紹介します。

Alternatives to using the Fade effect with text

ソース

private function forTextEffect(obj:Object):void {
    var bf:BlurFilter = new BlurFilter(0,0,0);
    var myFilters:Array = new Array();
    myFilters.push(bf);
    obj.filters = myFilters;
}

向こうに書いてあるのがオブジェクト指定だったので、
多少いじりました。

とりあえず mx:Text とかにFadeInなどをかけるまえに

forTextEffect(textObject);

みたいに一枚かましておけばちゃんとfadeInが動作するようになります。
ただこの処理自体が多少時間がかかるようなので、もしかしたら

forTextEffect(textObject);
fadeIn.play([textObject]);

みたいに連続して書くと確実にfadeInが動作するか担保できないかもしれません。
(未検証)


Leave a Reply