ActionScript: 2011年6月アーカイブ
私が普段仕事でFlashの制作をしながらよく使っているActionScript2.0のテクニックをまとめてみました。
テクニックは大袈裟かもしれないですが。
内容としては、ダイナミックテキストの画像化(透過のため)、文字種確認、文字の置換、スムージング、ソート、swf設置パス取得、拡大縮小、乱数の取得、ブラー、です。
今さらActionScript2.0かよと思いながらも、現役言語なので。
すべて関数形式で記述しています。
文字の画像化
ダイナミックテキストはそのままですと透過できません。
そのため、ドロップシャドウフィルタを適用して強制的に画像扱いにしてしまいます。
ドロップシャドウフィルタは適用しても見栄えに影響を及ぼさないようにパラメータを設定します。
文字種確認
たとえば、文字列Aの中から"あいうえお"以外の文字が使われていないかチェックする等のときに使います。
メールアドレスの形式チェックなんかもこの応用です。
使われていればfalseを返します。
文字の置換
文字の置換も私は関数化しています。
置換対象の文字で区切って、置換後の文字を挟んでくっつけます。
以下の関数は元文字、置換対象文字、置換後文字を渡すと元文字を置換して文字列を返します。
スムージング
外部ロードの画像はそのままサイズを変更すると粗いです。
スムージングをしてあげることによって画質を保つことができます。
ソート
値の並べ替えも頻繁に出てくるので関数化するとよいと思います。
以下の例では挿入ソートのアルゴリズムを使っています。
受け取った配列の中身を並び替えます。
swf設置パス取得
開発者がswfを設置しているパスを知らないということはそうないかと思うのですが、必要になったときのために。
urlを取得し、swfファイル名の前で文字列を分割することで取得します。
パスの記述方法が環境によって異なるため、スラッシュと円マークのどちらがファイルの区切りかをチェックしています。
拡大縮小
画像の拡大縮小も頻出するため、指定サイズ内に収まるように縦横比を保って拡大・縮小する関数も用意しています。
乱数の取得
乱数は制作物によっては頻繁に登場するため、値の幅(最小値と最大値)を指定するとその範囲内での乱数を戻り値と渡してくれるように関数を用意すると便利です。
ブラー
ブラーも比較的よく使うため関数化しています。