• ベストアンサー
  • すぐに回答を!

Flashでのマウスの位置に合わせてスクロール。

  • 質問No.7466033
  • 閲覧数544
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 92% (24/26)

作業環境
PC : Windows7
Flash : Flash8
Actionscript : 2.0

困っています。
Flashの制作でマウスの位置に反応して左右にスクロールするのもを作りたいのですが、マウスに反応はしてくれても、画像のループ処理がうまくいかず、画像が途切れてしまいます。


■参考にしているサイト
http://acchan.s55.xrea.com/flash/scroll_menu/0501/scroll_menu0501b.html


僕が作ろうとしている状況は、下記の通りです。
・ステージサイズ1160pxで、高さは223px
・スクロールする画像の全体での長さは3240px
・スクロールする画像は各ボタンになっていて、180pxが18個並んでいます。


理想としては、マウスの位置に合わせて、画像が両サイドに永久ループし、マウスオーバーしている画像は、その画像のリンク先に飛ばせるようにしたいのです。
どうかお力おお貸しください。
宜しくお願い致します。

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 91% (1611/1754)

ステージサイズを1160pxに変更し,
作るボタンの数を18個にしただけで
その他はほとんど変えないままで
実際にサンプルの「scroll_menu_0501b.fla」の通りに作ってみたところ
スクリプトの編集などはなしで全く無事にループ動作しましたよ。

何の応用力も工夫も必要ありません。
サンプル自体が "質問の答えそのまんま" だと思います。
う~~ん...困りましたね。

ご質問は「サンプルの通りを "そのまんま" を作ることもできない」という意味なのでしょうか?
 

 

仮に18個の画像にA~Rという名を付けたとするなら
まずはそれらを入れたボタンを18個用意しますよね。
「A」「B」「C」…「R」

そしてそれらのボタンをまとめてムービークリップに変換しますよね?
「ABC…R」

そのムービークリップを3つ横に並べて配置し↓
「ABC…R」「ABC…R」「ABC…R」
それらをさらにまとめて左上を基準点とした1つのムービークリップにします↓。
「ABC…RABC…RABC…R」

入れ子構造も図示すると次のようになるでしょうか。
『「ABC…R」「ABC…R」「ABC…R」』

その長いムービークリップ内の
真ん中の「A」の右端をステージの左端の位置に合わせるようにして配置し
その長いムービークリップ自体に
サンプルの「scroll_menu_0501b.fla」の「slideBar」レイヤーに置いてあるムービークリップの
スクリプト↓をそのままコピペすれば良いだけです。

onClipEvent (load) {
speed = 0.01;
defX = this._x;
rightSide = (this._width/3*2)*-1;
}
onClipEvent (enterFrame) {
speed = (speed*0.7)+((_root._xmouse-300)*0.01);
this._x -= speed;
if (this._x>=0 || this._x<=rightSide) {
this._x = defX;
}
}

なおサンプルのスクリプトのままだと
左右のスピード変化が対象になっていません。

speed = (speed*0.7)+((_root._xmouse-300)*0.01);

の部分を

speed = (speed*0.7)+((_root._xmouse-Stage.width/2)*0.01);

とした方が感じが良いと思います。
("感じ" だけの問題でループするしないとは別問題です。)



「リンク先に飛ばせる」ことだけに関しては
全くそのまんまではありませんが
元のサンプルがほぼそのままが利用できます。
最初の画像はボタンにしてあるわけですから
その各ボタンに

on (release) {
getURL("○○.html");
}

のように書いて行けば良いだけです。

「getURL();を覚えよう。 」
http://www.1art.jp/flash/le/lesson20/lesson20.htm

 
 

ステージ幅を 1160px 高さ223px にして
私が実際に作ってみているところ↓。
とにかく何の問題もなくそのまんまで動きました。
お礼コメント
Kenta57

お礼率 92% (24/26)

アドバイス頂き本当にありがとうございます。
僕も質問をした後に何度もいじっているうちにループさせる事が出来ました。
BlurFiltanさんいつも丁寧なアドバイスをありがとうございます。
また何かわからない事があった時は宜しくお願いします。
投稿日時:2012/05/14 20:13
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ