• 締切済み

ムービークリップの動くスピードを変更したい

photo_mcという写真のムービークリップの動きを下記のように設定しているのですが photo_mc.onEnterFrame = function() { photo_mc._x += 10; } マウスを乗せたときだけ10のところを5くらいに変更し、 マウスをどかすとまた10になるように設定したいのですが、なにぶん素人ですので、どのような記述になるのかが全くわからず困っています。 どなたか教えていただけないでしょうか。

みんなの回答

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

ご質問で日本語で書かれていらしゃるところままで, すでにプログラミングはできていますから, あとはそのプログラム通りにコーディングすれば良いと思います。 基本的には次のようにコードを書きます。 ----------------------------------------------- // 変数 speed に 10 を代入しておく speed = 10; // photo_mc にマウスを乗せたとき photo_mc.onRollOver = function() { // 変数 speed を 5 に変更する speed = 5; }; // photo_mc からマウスをどかすと photo_mc.onRollOut = photo_mc.onDragOut=function () { //変数 speed がまた 10 になるようにする speed = 10; }; photo_mc.onEnterFrame = function() { // photo_mc を spped の値ずつ右に移動 photo_mc._x += speed; }; ----------------------------------------------- ただ上のスクリプトには欠点があります。 もし photo_mc の中にボタンがあった場合, photo_mc に定義した onRollOver などによって, photo_mc の中のボタンの onRelease などが機能しなくなってしまいます。 その場合は次のようにします。 ----------------------------------------------- // 変数 speed に 10 を代入しておく speed = 10; photo_mc.onEnterFrame = function() { // もし photo_mc がマウスとヒットしていれば if (photo_mc.hitTest(_root._xmouse, _root._ymouse, false)) { // 変数 speed を 5 に変更する speed = 5; // photo_mc がマウスとヒットしていなければ } else { //変数 speed がまた 10 になるようにする speed = 10; } // photo_mc を spped の値ずつ右に移動 photo_mc._x += speed; }; -----------------------------------------------