電子書籍の厳選無料作品が豊富!

flashmx2004/actionscript2.0です。

ボタンにrollOverすると、別の場所にあるムービークリップが所定の位置まで移動する、と言う動きをさせたいと思っています。
ムービークリップがMC1としますと、単純にボタンに
MC1._x=0;
MC1._y=0;
と指定したらその位置に移動はしますが、これのように瞬時に移動ではなく、動きがわかる程度のスピードで動くようにしたいのです。

イメージとしましては画像の上にシャッターのように次の画像が来る形にしたいのです。
フレームをあまり使わず、可能であればボタン1個で動作させたいのですが、どうにも手詰まりです。
ご教授戴ければ幸いです。

A 回答 (1件)

方法や書き方(使い方)は色々ありますが,


一応次のような感じにするのが Flash では多く使われます。

ボタンに書くスクリプト例

on (rollOver) {
// 目標の X 座標を 0 だとします
var mokuhyouX:Number = 0;
// 目標の Y 座標を 0 だとします
var mokuhyouY:Number = 0;
// 動かす速さ(割合) を 1/5 だとします
var speed:Number = 1/5;
// MC1に対して1フレーム進む時間毎に随時実行するイベントハンドラメソッドを定義
MC1.onEnterFrame = function() {
// MC1 の座標を目標座標に speed ずつ近づける
MC1._x += (mokuhyouX-MC1._x)*speed;
MC1._y += (mokuhyouY-MC1._y)*speed;
};
}
 
    • good
    • 0
この回答へのお礼

ありがとうございます。
MC1._x += (mokuhyouX-MC1._x)*speed;についても記述して試してたのですが、
var speed:Number = 1/5;の記述を忘れておりました。

シンプルでイメージ通りの動きです。

お礼日時:2009/01/24 00:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!