- ベストアンサー
マウスに追従するmcについて
マウスに追従するmcについて http://ageha-shop.com/index.htmlのようなマウスを動かすと星(任意のmc)が出てくるフラッシュを作成したいとおもっておりまが、参考になるようなサイトを教えていただけないでしょうか 制作環境はwindows xp フラッシュcs4 actionscript2.0で作成しています。 よろしくお願いします
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「マウスに追従する」のではなく 「マウスの場所から出てきて消える」と考えれば簡単ではないでしょうか。 (実際にマウスに追従はしていませんし。) 大きな骨組みは MC(ムービークリップ)の中で星が瞬きながらだんだん透明になりながら下へ移動するというものを作成し それをマウスが動く度にActionScriptステージ上へコピペし 適当に回転させてやれば良いと思います。 とにかく星を描きます。 それをグラフィックシンボルに変換して グラフィックシンボルの中の2~3フレームで瞬くようにします (45°回転させるだけで瞬くように見える)。 その星が内部で瞬くグラフィックを "MCの中で" 透明にしながら モーショントゥイーンやクラシックトゥイーンで下へ動かします。 最後のフレームをキーフレームにして そのキーフレームに this.removeMovieClip(); と書いて このMC自体を消すようにしておきます。 ※参考:下図↓の左半分 この星親MCをマウスの座標に色々な角度に回転させて attachMovie すると 散らばるように星が出ます。 attachMovie する前には シンボルのプロパティで「識別子」をつけておく必要があります。 ここでは 「star_mc」 という識別子をつけておくことにします。 ※参考:下図↓の右半分 この 「star_mc」 を attachMovie する場合の メインタイムラインのフレームに書くスクリプト↓。 -------------------------- //カウント用変数 cnt の初期化 cnt = 0; //マウスが動いた時に動作する関数を定義 this.onMouseMove = function() { //MC「識別子star_mc」を star_mc○ という名で attachMovie this.attachMovie("star_mc", "star_mc"+cnt, cnt); //star_mc○ をマウスの座標に配置 this["star_mc"+cnt]._x = this._xmouse; this["star_mc"+cnt]._y = this._ymouse; // star_mc○ を -90~90° でランダムに回転 this["star_mc"+cnt]._rotation = Math.random()*180-90; // カウント用変数の値に 1 を加算 if (cnt<=10000) { cnt++; } else { cnt = 0; } }; -------------------------- this["star_mc"+cnt]._rotation = Math.random()*180-90; の Math.random()*180-90 の部分を Math.random()*90-45; のように変えれば範囲が狭くなります。 Math.random()*360-180; のように変えれば範囲が全方向になります。
お礼
非常に丁寧なお答えありがとうございます。 今日は時間がなく試すことができませんが、明日試してみます。 ありがとうございます。