こんばんわ、savoyさん(^^)
マウスの位置によって背景が移動するのは・・・
過去記事の■虫眼鏡のレンズなし・・・
つまりレンズの中の拡大画像だけの動きと同じです♪
bg_slider00.fla
サンプルは、ムービー(ドキュメント)の大きさは「300×200」で、
背景画像の大きさが「400×450」という設定です。
背景画像は左上端を基準点とするMCにして、
それをムービーの座標の原点(0,0)である左上端にぴったり合わせて配置します。

図の@がそのときの説明で、マウスの座標がムービーの左上原点にあるときの状態です。
マウスをムービーの右下に移動したとき、背景画像BGをムービーの端一杯まで移動させるとすれば、
図のAのようになり、そのときの背景画像BGの基準点の座標は「x=-100,y=-250」になります。
したがって・・・
マウスの座標から各々背景画像BGの座標を求める関係式は、図のしたのようなことになります。
アクションスクリプトを、背景画像(サンプルでは「BG」MC)に記載するとすれば、
自分自身のXY座標(this._x this._y)をマウスのXY座標(_root._xmouse _root._ymouse)と
関連付ければよいので・・・
onClipEvent (enterFrame) { フレームレート(1/12秒)ごとに以下を繰り返す
this._x = _root._xmouse * -100 / 300;
this._y = _root._ymouse * -250 / 200;
}
とクリップアクションで記載します。
ただ、これでは直接過ぎてマウスの動きそのままに背景画像が動きますので、これに・・・
マウスの座標を目標値とする「目標値接近の方程式」を組み合わせて、
onClipEvent (enterFrame) {
this._x += ( _root._xmouse * -100/300
- this._x )/10;
this._y += ( _root._ymouse * -250/200
- this._y )/10;
}
このようにします。「目標値接近の方程式」について詳しくは
■第6回 回転のメカニズムの”630”を参照していただくとして・・・
上記式の末尾の「10」は接近スピードの調整値で、
この値が小さいほど速く、大きいほど遅く目標値(上記青字部分)に接近してきます。
適当に数値を変えて試してください。
マウスのポップアップは、■マウスオーバーでポップアップメッセージを参照してください。
|