まず最初に取り込むべきカウンタが書かれたファイルを用意します。
このファイルにはテキスト形式で
cnt=003298
と記述する仕様にして、アクセスがあるたびにこのファイルの数字部分を更新します。
ファイルの更新はFlashではできないので、CGIなどを使う必要があります。
1.「数字」ムービークリップの作成
数字の絵を描いたムービークリップを作成します。
適当なフレーム10個に順番に「0」から「9」までの絵を描きます。
# 絵はテキストを使って好きなフォントで描いたあと、「修正」メニューの「分解」をすると楽かも・・・
サンプルでは、フレーム1に「0」、フレーム10に「9」の絵を描いてます。
2.「動く数字」ムービークリップの作成
数字単体のムービークリップをつくりましょう!
ここで使う数字は、さっき作成した「数字」ムービーを使います。
インスタンス名は「num」としておきます。
ムービー自体は適当に作ってね!
ここはセンスなんでおまかせです!
またムービーはループするように、
最後のフレームに「Go To and Play (1) 」とか
戻りたいフレームにラベルをつけて
「Go To and Play ("start") 」とかしておきましょう!
3.シーンへの素材の配置
まずカウントファイルを読み込むためのテキストフィールドを見えないとこ(枠の外)に置きます。
このテキストフィールドの変数名は、カウンタファイルで使う変数名と同じにします。
サンプルでは「cnt」としています。
先ほど作った「動く数字」ムービーを、カウンタの一番左の数字の位置におきます。
インスタンス名は「num_movie」としておきましょう
4.シーンの流れ(アクション)
(1) カウンタファイルの読み込み
こんな感じでよみこみます
Load Variables ("count.txt", 0)
ファイル名は相対パスやまたはURLなどを書きます。
相対パスの場合は注意が必要で、
HTMLから swfファイルを実行してる場合は、そのHTMLファイルのディレクトリから
CGIからHTML形式のドキュメントを生成している場合は、CGIファイルのディレクトリから
の相対パスになるみたいです。
さらに、テキストファイルの読み込みはタイムラグがあるので
テキストファイルが正しく読み込めるまで待つ仕掛けが必要です。
サンプルではカウンタは「6桁」という仕様なので
6桁正しく読めるまでループしています。
(2) num_movie を消す。
とりあえず消しておいたほうが分かりやすいので消します。
Set Property ("num_movie", Visibility) ="0"
※ 消すといっても削除じゃなくてみえなくしてるだけだよ!
(3) ムービーの複製
桁数分ループして複製を繰返します。
※ サンプルでは6回
Set Variable:"i" ="0"
Loop While (i < 6)
Duplicate Movie Clip ("num_movie", "num_movie"&i, i)
Set Property ("num_movie"&i, X Position) =i*15+num_movie:_x ・・・・(A)
Begin Tell Target ("/num_movie"&i&"/num")
Go to and Stop (substring(/:cnt, /:i+1, 1)+1) ・・・・・(B)
End Tell Target
Set Variable:"i" =i+1
End Loop
Stop
こんな感じです。
(A)の i * 15 の15は数字の横幅です。
num_movie:_x とは num_movieのX座標です。この位置を基準に複製するようにしてます。
(B)でテキストフィールド「cnt」の「i+1」番目の文字列を取得したあと
「数字」ムービーに対して”その数字+1番目のフレーム”に飛ぶようにしてます。
これで複製した「動く数字」ムービの数字が各桁の数字に変わるわけです!
すべての複製が終わったらさいごに「Stop」で止めておきましょう!
※ サンプルでは、ムービーをちょっとずらすために
フレームごとに複製するようにしてます。
フレームの数を調整するとズレの調整ができます。
ちなみに上のままだとこんな感じ。
あとはムービーを書き出して完成です!(^^)
戻る