3枚以上の画像を右と左に行くボタンで動かし切り替えて生きたいのですが、ちなみに画像の動き方はだんだん遅くなってとまるというのがベストです。

みようみまねでなんとか次のようにできたのですが、3枚以上はできません。
画像を横に並べて一枚にした画像をシンボルに変換し
インスタンス名をpicにして次のスクリプトをそのムービークリップに書き込みました。
this._x = -200;
this._y = 0;
}
onClipEvent (enterFrame) {
if (flag==1) {
dx = (0-this._x)/4;
this._x += dx;
}
if (flag==0) {
dx = (200+this._x)/4;
this._x -= dx;
}
}
なお、ボタンを2つ作成し、
on(release) {
_root.pic.flag = 1;
}

on(release) {
_root.pic.flag = 1;
}

このQ&Aに関連する最新のQ&A

A 回答 (1件)

true と false (または 0 と 1)しか持たないフラグなどという特殊な変数を使うからそうなるだけだと思います。



たとえば
dx = (0-this._x)/4;
となっている 0 の部分を 0 という数値ではなく普通の変数にしておいて
その普通の変数をボタンから操作すれば良いのではないでしょうか。


ムービークリップ自体に書くスクリプト
-----------------------------------------------------
// このムービークリップが現れたときに実行
onClipEvent (load) {
// 初期 xy座標を指定
this._x = -200;
this._y = 0;
// 変数 point_x に -200 を代入しておく
point_x = -200;
}
// 1フレーム進む時間ごとに毎回実行
onClipEvent (enterFrame) {
// このムービークリップを point_x に近づける
this._x += (point_x-this._x)/4;
}
-----------------------------------------------------


this._x += (point_x-this._x)/4;
↑ ここで
ムービークリップの座標を 0 や 200 という固定値に近づけるのではなくて
point_x という変数の値に近づけるようにしています。



そしてボタンにはたとえば

------------------------------------
on (release) {
// もし pic 内の変数 point_x が -200 より大きいときは
if (_root.pic.point_x>-200) {
// pic 内の変数 point_x の値を 200 減らす
_root.pic.point_x -= 200;
}
}
--------------------------------------


--------------------------------------
on (release) {
// もし pic 内の変数 point_x が 1000 より小さいときは
if (_root.pic.point_x<1000) {
// pic 内の変数 point_x の値を 200 増やす
_root.pic.point_x += 200;
}
}

--------------------------------------

と書いておきます。
この場合は point_x が -200~1000 の間で 200 刻みで動きます。
    • good
    • 0
この回答へのお礼

まさ~~~~~~~に想像どおりの動きです。感激いたしました。またご質問しますのでそのときはよろしくお願いいたします。ご返信遅れて申し訳ございません。

お礼日時:2009/05/20 02:47

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


人気Q&Aランキング

おすすめ情報