• 締切済み

FLASH フォトギャラスライド

FLASHでフォトギャラリーを作りました。 サムネイルがいくつかあり、サムネイルをクリックすると拡大写真が変わっていくというものです。 サムネイルは多数あり、1画面内に収まらないため、 マスクを掛け、上下のボタンで10個くらいづつ表示させるようにしています。 上下のボタンを押したときにサムネイルがスライドしていくように見せたいのですが、やり方がわかりません。 ちなみに、現在のスクリプトは以下のようにかいています。 80px分飛んでしまうのでなく、スーッと動くようにしたいのです。 on (release) { if(linkMC._yscale == 100){ linkMC._y += 80; if(linkMC._y >= -55){ linkMC._y = -55; } } } ご存知の方がいらっしゃいましたら教えてください! 宜しくお願いします。

みんなの回答

回答No.1

linkMCとはスライド全体を囲うMCで、on(release)はボタンに設定されているとみなしてよいでしょうか? 現状はマウスリリース時にlinkMCをピンポイントで座標移動されています。 スーッと動くという処理は、「毎フレーム到達点に近づいて行く」という理屈で行います。 //#ボタンに記述##### //ボタンは「到達点のみを設定」する on(release){ if(linkMC._yscale == 100){ _global.pointY = linkMC._y + 80; //linkMC._y + 80を到達点とする }else if(linkMC._y >= -55){ _global.pointY = linkMC._y - 55; //linkMC._y - 55を到達点とする } } //#linkMCに記述##### //ボタンにより設定された到達点へ「自ら近づいて行く」 onClipEvent(enterFrame){ if(this._y != pointY){ this._y += (this._y - pointY) / 2; //到達点に着くまでは、linkMCと到達点の距離を測り、その中間へlinkMCを移動させる } } enterFrame内の「goY / 2」の割る数字を増やす事で、よりゆっくりとしたスクロールになります。 実際に試していないので上記だけで動作は微妙ですが、コメントにあるような理屈で組めばよいと思われます。

may_07
質問者

補足

Spider-netさん スーっと動くようになりました! ただ、指定の位置でとまらない…。 でもこれで色々試してみます。 本当にありがとうございました!!

関連するQ&A