• ベストアンサー

Flashで星のランダム再生方法

Flashで星のランダム再生方法 ソフトはMacromedia Flash 8使用です。 星をランダムに表示して、ランダムな動きで消えていくFlashを作りたいのですが、 Actionscriptに弱い為、分かりません。 イメージとしては、http://www.myura.net/index.htmlこのサイトのトップのような星の動きです。 宜しくお願いします。

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

星をグラフィックインスタンスで作成します(グラフィックインスタンス内に描きます)。 その星をムービークリップに変換し そのムービークリップの中で星を,「し」の字 または 「J」 の字に動くように モーションガイド を使ってモーショントゥイーンさせます。 そのムービークリップ内の最終フレームをキーフレームにして そのキーフレームに次のように書きます。 --------------------------- // このムービークリップを消す this.removeMovieClip(); --------------------------- 以上で,理論上は 「ムービークリップ内で星が「し」の字を描いて動き最後には消え去る」 というものができます。 ※実際はムービークリップの深度は0未満なので   このままでは消えません。 「ウィンドウ」→「ライブラリ」にチェックを入れ(入れてあればそのままで), シンボル パネル を表示させて 上で作った ムービークリップ シンボル を選択し, 「右クリック」→「リンケージ」などによって 「リンケージプロパティ」パネルを出します。 そのパネルで  リンケージ □ActionScriptに書き出し         □最初のフレームに書き出し の2つにチェックを入れ  識別子[シンボル ○  ] のようになっている部分で識別子を付けます。 例えば   識別子[star  ] のように書いて ムービークリップシンボルに「star」という識別子を付けます。 ステージ上の元のムービークリップインスタンスは不要なので ステージ上のムービークリップを削除します。 そして例えばフレーム1などのキーフレームに次のように書きます。 ------------------------------------ //変数 i を 0 ~ 99 で 1 ずつ加算してループ for (i=0; i<100; i++) { //識別子「star」を「star○」というインスタンス名で深度 i に複製 this.attachMovie("star", "star"+i, i); //「star○」をステージ上にランダムに配置 this["star"+i]._x = Math.random()*Stage.width; this["star"+i]._y = Math.random()*Stage.height; //「star○」をランダムに回転 this["star"+i]._rotation = Math.random()*360; } ------------------------------------ 以上のような感じでできると思います。 要するに 星が「し」の字に動くムービークリップをたくさん複製するということです。 ただそれだけです。 「星」を描いたり「し」の字にモーショントゥイーンさせる部分の方が手間と言えば手間です。

Kenta57
質問者

お礼

お礼が遅れた事を、まず申し訳ありませんでした。 的確な回答をありがとうございました。

関連するQ&A