FlashLite1.1でのアナログ時計の作り方

アナログ時計の一周は360度です。文字盤はそれを12分割したものなので、数字の間の角度は30度です。
それを利用して、取得した時間をムービークリップの角度(_rotation)に指定することでアナログ時計を作ります。

サンプルコードは以下。
//の書いてある行はコメントとして扱われるため、このままコピー&貼り付けして使うことができます。

//日付・時計を取得する
hour = fscommand2(“GetTimeHours”);
minutes = fscommand2(“GetTimeMinutes”);
seconds = fscommand2(“GetTimeSeconds”);

//取得した時間から針の角度を計算して代入する
xhour._rotation = hour*30+minutes*0.5;
xminutes._rotation = minutes*6;
xseconds._rotation = seconds*6;

コードをコピペしたらインスタンス名をつけます。
インスタンス名は、ムービークリップを選択した状態で「プロパティ」のパネルから設定ができます。
上のコードをそのまま使う場合、短針は「xhour」長針は「xminutes」秒針は「xseconds」としてください。

各ムービークリップの変形点が針の回転の軸になりますので、変形点は時計の中心に合わせてください。

Illustrator のパスを Flash Lite 1.1に移行する際の注意点いろいろ

イラレからFlashへのパスの移行には、Flash Lite 1.1の仕様上さまざまな制約があります。

(1)Flashで扱えないパスがある
以下のパスはFlash上でパスとして扱うことができません。
書き出しやAIインポート時にビットマップとして貼り付けることもできますが、
画質の調整が必要な際はphotoshopなどで保存し、画像としてFlashに配置してください。
・Illustratorの「効果」でつけられているドロップシャドウ、3D効果等
・塗りがグラデーションメッシュ

また以下のようなパスはそのままFlashにコピーすることはできませんが、アピアランスの分割や分割・拡張等を行うことによりFlashにインポートできるようになります。
・ブラシのストローク
・ブレンド
・パスの変形(パンク・膨張、歪み系など)

(2)Flash Lite 1.1の仕様上扱えないパスがある
Flash Lite 1.1では、線の拡張機能は使えません。
(線の拡張機能が使われている場合、パブリッシュ時にエラーが出ます)
flash上で線を選択し、「伸縮:標準」「線幅:丸型」「結合:丸型」にすることで回避できます。
この線のオプションは、イラレでは「線の位置:線を中央に揃える」「線端:丸型線端」「結合:ラウンド結合」にあたります。
イラレの[選択]→[共通]→[線]などを使用し、あらかじめ全ての線のオプションを変更しておくと便利。

またこの線の拡張機能はFlash 8以降の機能であるため、
Flash 8を使用できる場合は一度「名前をつけて保存」からFlash MX 2004 を選択して保存してからパブリッシュすると解決します。

移し方は、FlashCS3以降の場合はコピペでOK。
Flash8以前の場合は、イラレ上で[ファイル]→[書き出し]からswfを選択して書き出し、Flashから[ファイル]→[読み込み]でライブラリorステージに配置を選択すると配置することができます。

どちらもパスが多数グループ化された状態で配置されるためメモリを多く消費します。配置後、グループ化の解除やシンボルの分解を行ってください。

Flash Lite 1.1 で画像がずれるバグの対処法チェックリスト

Flash Lite 1.1でビットマップ画像(GIF、JPEG、PNG画像)を配置した際に正しく配置されないバグの対処法をリストにしました。
まずこのリストの(1)~(6)を同時に試し、それでもだめなら(7)~(9)をやってみることで大抵解決できる(はず)。

(1)画像をシンボル化する
ビットマップ画像をステージに配置したら、シンボル化を行います。
シンボルのタイプをグラフィックに、基準点を右下に設定してください。

(2)画像の大きさを変更する
縦横が奇数 px の大きさの画像の場合、width、height 共に偶数 px になるよう加工します。

(3)配置位置に小数点がないか確認する
小数点があると、補間が行われるためずれが発生することがあります。

(4)縮小・拡大がされていないかを、[変形]タブで確認する
画像の拡大縮小が行われていると配置がずれてしまうことがあります。
ビットマップ画像はFlash上の変形を使わず、PhotoShop等で拡大縮小を行い
常に100%表示で配置するようにしてください。

(5)アルファトゥイーンをしている場合は透明度を変える
例えば、0% から100%へフェードインするようなトゥイーンの場合、
1%から99%へフェードインするアニメーションに変更してください。

(6)ライブラリのビットマッププロパティでスムージングのチェックを外す

以下は、それでもダメだった場合に試してみてください。
(1)~(6)とは同時に使えない小技だったり、ヒープメモリ消費上あまりやりたくない小技です。

(7)ビットマップ画像を分解する
ビットマップ画像を分解すると、シェイプの塗りにビットマップ画像が指定された状態になります。

(8)画像の上下左右に透過で 2px くらい余裕をつけ、マスクをかける
画像の 1px ずれが直らない時は、ある程度ずれても構わないように作ります。
例えば、100 x 200px の画像を配置したかった場合、画像は102 x 202 pxで制作し、その画像の中心に100 x 200 px のシェイプを配置しマスクにします。
ズレを完全に取り除くことにはなりませんが、見た目上問題のない程度には持っていくことができます。

(9)それでもだめだった時は
Flash Lite 1.1は PC 版の Flash4 に携帯向けの拡張を行ったものであるため、
PC版 Flash4 で確認されていた不具合がそのまま残っています。
上記のチェックリストが役に立たない時や異なる不具合が発生している時は、PC向けFlash4以前の対策が有効なこともあります。