シンボル配置位置の小数点以下を四捨五入して再配置する jsfl
シンボル配置位置の小数点以下を四捨五入して再配置する jsfl を作成しました。
【 ダウンロード 】
http://www.dango-itimi.com/blog/swf/100/IntegralValuePositioner.zip
【 jsfl ファイル解説 】
■ IntegralValuePositioner.jsfl メインクラスファイル このファイルを実行しても何も起こらず ■ IntegralValuePositionerOfStage.jsfl 現在編集中のステージ内全てのレイヤーの 再生ヘッダ一にあるフレーム(currentFrame)に配置している 全ての要素(シンボルやシェイプ)の配置位置に対し 小数点以下を四捨五入して再配置する jsfl ファイル ■ IntegralValuePositionerOfSelectedItems.jsfl ライブラリで選択したアイテム(シンボル)内全てのレイヤーの 1フレーム目に配置している 全ての要素(シンボルやシェイプ)の配置位置に対し 小数点以下を四捨五入して再配置する jsfl ファイル ■ IntegralValuePositionerOfSelectedLayer.jsfl 現在編集中のステージ内で 選択している1つのレイヤーの 全てのフレームに配置している 全ての要素(シンボルやシェイプ)の配置位置に対し 小数点以下を四捨五入して再配置する jsfl ファイル
【 作成経緯と使用手順例 】
Photoshop での大量のキャラクターアニメーション制作後、Flash の psd インポート機能にて以下の状況が大量に発生しそうなため、今回の jsfl の制作を行ないました。
(1)
ゲーム制作において都合のよい、足元を中心とした基準点で各レイヤー毎にムービークリップを作成する設定で psd を読み込みます。
(2)
psd が読み込まれた後のライブラリの様子です。ムービークリップ 1~6 内には同数値のビットマップデータ 1~6 が配置されています。
ここで例えばムービークリップ1 の内容を見てみると…
(3)
ビットマップデータの横幅が 21 ピクセルため、配置 X座標が -10.5 という 0.5 ピクセルの少数値が付与されてしまっています。こいつはいただけねえぜ…!
(4)
ライブラリのムービークリップ 1~6 を選択し IntegralValuePositionerOfSelectedItems.jsfl を実行すれば、小数点以下は四捨五入されて再配置されます。
次にライブラリ内 walk_bottom.psd ムービークリップを見てみます。
(5)
Photoshop で作成したそのままの配置位置に、各ムービークリップ 1~6 が フレーム 1~6 に割り当てられているのがわかります。ここでよく見ると、配置されているムービークリップ の X座標 が 24.5 という、またしても小数点以下の数値が見えます。
(6)
walk_bottom.psd レイヤーを選択し IntegralValuePositionerOfSelectedLayer.jsfl を実行すれば、選択したレイヤー内全てのフレームのムービークリップの小数点以下は四捨五入されて再配置されます。
次の記事「原点座標(0, 0)にシンボルを再配置する jsfl」へ続きます。
追記 2010年7月19日)
jsfl ソースファイル内に誤りがあったため修正したものを再アップロードしました。