• ベストアンサー

FLASHアニメでまばたきさせたい

FLASH初心者です。 アニメーションで目をランダムにパチパチまばたきさせる方法があるそうなんですが調べてみても分かりません。 御存知の方いらしゃったら教えて下さい。 環境:FLASH5/Win

質問者が選んだベストアンサー

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.2

ランダムに、という動作を表現するには、乱数を使うのが手っ取り早いです。 単純なところで、1つのムービークリップで目を開いたままの状態と、まばたきをしている状態のアニメを作り、どちらを再生するかを乱数で決める、というのはいかがでしょうか。 例えば、フレーム1~5に目を開けている状態、フレーム6~10にまばたき(閉じて、開く)のアニメを作るとします。 フレーム1で、乱数を使ってまばたきをするかしないかを決めます。まばたきをしないなら1から、するなら6から再生するわけです。 このままでは、1回まばたきしただけで終わってしまいますよね。そこで、それぞれのアニメの最後のフレーム(この例で言うと5と10)に、フレーム1に戻るアクションを設定して、まばたきをする・しないをランダムに決めて、該当するアニメを実行する・・・という流れを繰り返すようにします。 (フレームの流れを制御するアクションを専門に管理するレイヤーと、アニメを描画するレイヤーとに分けると作りやすいかと思います) フレーム1のアクション:   //0~100までの乱数を生成   blink=Math.random () * 100;   //blinkが70以下の時は目を開ける   if (blink <= 70)   {    gotoAndPlay (1);   }   //blinkが71以上ならまばたきのアニメを実行   else   {    gotoAndPlay (6);   } フレーム5と10のアクション:   gotoAndPlay (1);   乱数ではまばたきの頻度にムラが出てしまい、乱数の範囲を調整しても不自然に見えることがあります。 ポイントは、まばたきをするかしないかをどうやって決めるかなので、その方法次第でいくらでも改善できます。例えば、配列を使って、する・しないを予めデータにしておき、アニメが終わるごとに次のデータを読んで決める・・・といった方法も1つの手。いろいろと試してみて下さい。

kiri211
質問者

お礼

時間がかかってしまいましたが出来ました。 他にも参考になる事まで書いて頂きありがとうございます。

その他の回答 (1)

回答No.1

こんちは。 我流で解説してみることにします。 目を開いたときの画像(シンボル)と閉じたときの画像(シンボル)を作ります。 それをタイムライン上に配置すれば普通のアニメーションができるわけですが ランダムってことは多分アクションスクリプトを使うのでしょう。 アクションスクリプトはちょっと難しいですが必要なスクリプトだけ使えば 案外簡単に作れたりします。 いや、結局答えになってないんですけど、はい、でしゃばりました。

kiri211
質問者

お礼

やはりアクションスクリプトだったようです。 早い回答ありがとうございました

関連するQ&A