• ベストアンサー

ボタンの上にマウスを置くと虫眼鏡のように大きくなるボタンを作りたい

いつもお世話になっております。 よくApple(Mac)のパソコンで見かけるWindowsでいうスタートメニューのような役割を果たすドッグがデスクトップ画面中央下に見られます。 あれはマウスを上に置くと虫眼鏡のように大きくなったり小さくなったりするようになっているのですが、Flashでそれと同じことが出来ないかと考えております。 Flashで作成した場合、Home、Diary、Photoなどと書かれた四角い形のボタンを複数均等に一列に配置し、その各ボタンの上にマウスが乗ると虫眼鏡の様に拡大されるといった仕組みを作りたいのですがどうすれば宜しいのでしょうか。 ActionScriptはまだ慣れていないのでそれ以外の作成方法であれば知りたいのですが、ActionScriptで作った例を一度拝見したことがあるためActionScriptでも可能と思います。もしよろしければActionScriptとそうでない方法とありましたらご教授下さい。

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

  • ベストアンサー
noname#35109
noname#35109
回答No.2

なんとか近い物が不格好ながらできました~~! 今週はほとんど時間が取れなかっため,ご質問を見て20分ぐらい毎日考えましたが, なんとか近い物ができたように思います。 実は私もそのドッグを友人の家で見たとき,「これFlashで作りたい!」と思ったのです。 Macのドッグと言うより,OS X のドッグですよね。 でも,私はMacを持っていません。 なので, http://home.cogeco.ca/~raduking/ から,RKLauncher というものをDLして,動きを観察してみました。 おおまかに書くと,マウスがある範囲に入ったとき, アイコンの最初の位置を中心に,下のグラフのような動きをするように見えます。 基準点はアイコンの初期x座標です。 まずは,左右に動く距離           初期this._x □□□□□□□□■□□□□□□□□ □□□□□□□□■□□□□□□□□↑ □□□□□□□□■□□□□■■■■ xに移動する距離(右) □□□□□□□□■□□□■□□□□ □□□□□□□□■□□■□□□□□ □□□□□□□□■□■□□□□□□ □□□□□□□□■■□□□□□□□ ■■■■■■■■■■■■■■■■■→マウスのx座標 □□□□□□□■■□□□□□□□□ □□□□□□■□■□□□□□□□□ □□□□□■□□■□□□□□□□□ □□□□■□□□■□□□□□□□□ ■■■■□□□□■□□□□□□□□ xに移動する距離(左) □□□□□□□□■□□□□□□□□↓ □□□□□□□□■□□□□□□□□ マウスが初期位置に近ければ近いほど,元の初期座標に近く, マウスが左や右に離れるほど,右や左にアイコンが動く。 次に,大きさ           初期this._x □□□□□□□□■□□□□□□□□ □□□□□□□■■■□□□□□□□↑ □□□□□□■□■□■□□□□□□アイコンの大きさ(大) □□□□□■□□■□□■□□□□□ □□□□■□□□■□□□■□□□□ ■■■■□□□□■□□□□■■■■←元のサイズ □□□□□□□□■□□□□□□□□ ■■■■■■■■■■■■■■■■■→マウスのx座標 □□□□□□□□■□□□□□□□□ □□□□□□□□■□□□□□□□□ □□□□□□□□■□□□□□□□□ □□□□□□□□■□□□□□□□□ □□□□□□□□■□□□□□□□□アイコンの大きさ(小) □□□□□□□□■□□□□□□□□↓ □□□□□□□□■□□□□□□□□ マウスが初期位置に近ければ近いほど,アイコンは大きくなり, マウスが左や右に離れるほど,元の大きさに戻る。 これを式にすれば,なんとなくそれらしいものができました。 --手順----- /////////////////////////////////////////////////////////////////////////////////////////////// まず同じようなサイズのムービークリップを6~12個ぐらい作り, 真横にそして等間隔に並べてください。 「整列」でちゃんと並べないとまちまちな動きになります。 そして, タイムラインのスクリプトとして,次のように変数の定数を定めておきます。 ----------------------------- //動くスピードを設定(可変) spd = 0.3; //左右に移動する距離を設定(可変) idou = 40; //大きくなる範囲を設定(可変) hani = 80; //y座標エリアの設定(可変) hani_y = 30; //拡大率の設定(可変) kakudai = 2; ---------------------------- そして,6~12個ぐらい並べたムービークリップ1つ1つに, 以下のようなスクリプトを書けばOKです。 すべてのムービークリップに同じ事をかけば良いです。 ---------------------------- onClipEvent (load) { scl_x = this._xscale; scl_y = this._yscale; pos_x = this._x; pos_y = this._y; } onClipEvent (enterFrame) { if (_root._ymouse-pos_y<_root.hani_y && pos_y-_root._ymouse<_root.hani_y) { if (_root._xmouse<pos_x-_root.hani) { this._x += (pos_x+_root.idou-this._x)*_root.spd; this._xscale += (scl_x-this._xscale)*_root.spd; this._yscale += (scl_x-this._yscale)*_root.spd; } else if (_root._xmouse>=pos_x-_root.hani && _root._xmouse<pos_x) { this._x += ((pos_x-_root._xmouse)*_root.idou/_root.hani+pos_x-this._x)*_root.spd; this._xscale += (((_root._xmouse-pos_x)*(_root.kakudai-1)/_root.hani+_root.kakudai)*scl_x-this._xscale)*_root.spd; this._yscale += (((_root._xmouse-pos_x)*(_root.kakudai-1)/_root.hani+_root.kakudai)*scl_y-this._yscale)*_root.spd; } else if (_root._xmouse>=pos_x && _root._xmouse<=pos_x+_root.hani) { this._x += ((pos_x-_root._xmouse)*_root.idou/_root.hani+pos_x-this._x)*_root.spd; this._xscale += (((_root._xmouse-pos_x)*(1-_root.kakudai)/_root.hani+_root.kakudai)*scl_x-this._xscale)*_root.spd; this._yscale += (((_root._xmouse-pos_x)*(1-_root.kakudai)/_root.hani+_root.kakudai)*scl_y-this._yscale)*_root.spd; } else if (_root._xmouse>pos_x+_root.hani) { this._x += (pos_x-_root.idou-this._x)*_root.spd; this._xscale += (scl_x-this._xscale)*_root.spd; this._yscale += (scl_y-this._yscale)*_root.spd; } } else { this._x += (pos_x-this._x)*_root.spd; this._xscale += (scl_x-this._xscale)*_root.spd; this._yscale += (scl_y-this._yscale)*_root.spd; } } ---------------------------- かなり幼稚っぽいスクリプトでゴチャゴチャしていますが, 上で書いたグラフの範囲を4分割にして, それぞれの範囲でそれぞれのムービークリップが動くようにしたものです。 もっと洗練した書き方をすれば,もっと簡素になるとおもいますが, とりあえずこれが精一杯でした。 グラフで書いたように,一次関数しか使っていません。 上のグラフは3次曲線にして, 下のグラフは上に凸の2次曲線にすれば,もっと雰囲気が出るのかもしれませんが, ちょっと,数学的オツムが回りません。 タイムラインの変数設定の (可変) の所は,ちょうど良いように調節してください。 アイコンムービークリップの大きさや,間隔や,ムービーサイズによって,少しずつ変わると思います。 できたムービークリップに, on (release) { //ここに何かスクリプトを書く } を加えるとボタンのように動作します。 もう少し良いように動かすには,なんとかこの先を考えてみてください。 ここまででも,オツムがヨレヨレです。

yakusokunosora
質問者

お礼

いつも大変お世話になっております。 今回、MaC OSのドッグと同じ物を作りたいとのご質問をさせて頂いたのですが、結果私の考えていたものイメージしたものそのものになっておりました。 涙があふれ出るほど、感謝しております。 また、今週は大変御多忙だったとのこと。 お忙しい中、図解説含めあそこまでご丁寧にご説明・ご指導を戴き、大変感謝を申し上げます。 本当にどうもありがとうございました。 いつも御質問ばかりで大変申しわけございません。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • suzuko
  • ベストアンサー率38% (1112/2922)
回答No.1

>虫眼鏡のように大きくなったり小さくなったりするようになっているのですが 拡大・縮小されると言うことでしょうか?(違っていたらごめんなさい) ActionScriptでなくても出来ますよ。^^ ボタンシンボルの「オーバー」「ダウン」を「アップ」の絵柄より拡大・縮小して作ればいいと思います。

yakusokunosora
質問者

お礼

アドバイスありがとうございます。 今回、初めに初めに試したのが、上記と同じ内容でした。ボタンの動き的には左右にあるボタンとの動きの連携がなかなかうまく作り出せず、ボタンクリップだけの作業では少し、限界があると思い色々試行錯誤していました。ほかにもあるか調べてみようと思います。ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ACTIONSCRIPT 3.0 お気に入りボタン

    FLASH の ACTIONSCRIPT 3.0 ですが、 お気に入りに登録するボタンを作り、 ACTIONSCRIPTを作成したいのですが、 方法が解かりません。 お手数ですが、よろしくお願いします。

  • ≪FLASH≫マウスオーバーすると、上に説明が出るボタン

    初心者です。参考書を読んで、FLASHのだいだいはわかりますが、実践はまだというところです。 それで、このようなFLASHを作りたいんですが、作り方を教えてくれませんか? それは、Webで使うメニューで、縦長で、マウスオーバーすると、文字が青くなり、真上(10pxくらい上)に説明が出るものです。 それで、1つ1つの項目はボタンで作りました。 アップに黒い文字、オーバーに青い文字をいれました。 シンプルボタンをオンにすると動作しました。 でも、説明はどうやっていれたらいいのかわかりません。 ボタンのオーバーに説明のテキストを入れると、オーバーしているときのボタンの範囲が上に広がってしまって、マウスを上に移動したとき、上にある項目のボタンが動作しません。 お願いします。

  • 虫眼鏡ツールのような機能をhtmlに盛り込みたい

    html内に表示してあります画像を拡大・縮小表示させる虫眼鏡ツールのような機能をhtml内に盛り込みたいと考えています。 単に拡大・縮小ボタンやホイールマウスを使って拡大・縮小をさせる機能でしたら沢山のホームページで公開されているのですけれども、イメージビューワーなどに付いている虫眼鏡ツールのような拡大・縮小機能をwebのページに盛り込むことは可能なのでしょうか? 知っている情報があれば、お教え願いますでしょうか。

  • ダイナミックテキストのボタン化

    いつもお世話になっております。 actionscript3.0でサイト制作を行なっております。 予めFLASH上で作成したダイナミックテキストフィールドに、 外部ファイルから読み込んだテキストを入れ、それをボタン(指マーク) にしたいと考えております。 テキストフィールドの為、useHandCursolやbuttonMode等のプロパティは 使えないと思いますので、予め作成したダイナミックテキストフィールドと 同じ大きさの透明なSPRITEをテキストフィールドの上に乗せておき、 それをbuttonMode = trueの処理でリンクとして扱う方法を考えましたが、 少々面倒だと感じました。 上記の方法以外にactionscript上で、ダイナミックテキストをボタンとして 変換するような方法は御座いますでしょうか? 宜しくお願い致します。

  • マウスに追従するmcについて

    マウスに追従するmcについて http://ageha-shop.com/index.htmlのようなマウスを動かすと星(任意のmc)が出てくるフラッシュを作成したいとおもっておりまが、参考になるようなサイトを教えていただけないでしょうか 制作環境はwindows xp フラッシュcs4 actionscript2.0で作成しています。 よろしくお願いします

    • ベストアンサー
    • Flash
  • Flashのボタンについて

    Flash初心者です。使用しているソフトはFlash MX 2004です。 現在、独学でFlashの勉強中なのですが、分からないことがあるので質問させてください。 AというボタンとA'というボタンを作成します。どちらもマウスを上に持っていくと色が変わるだけの単純なボタンです。 これらをページの右側と左側に配置します。 Aのボタンにマウスを持っていったときに、AとA'両方のボタンが反応して色が変わる、また逆も然りというふうにするにはどうしたら良いのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 1ページに2つFlashボタンを置くと・・・

    現在1ページに2つの全く別のFlashボタンを作成しています。 しかし、それがどうもおかしくてそのボタンにマウスのポインタがヒットすると指マークが点滅したり指のマークに変わらなかったりするんですが、どうしてでしょうか? そのFlashで作成したボタンとは、二つともムービークリップで作成し、常にアニメが動いています。 ムービークリップで作成している為、ボタンに変更した方法は一番上のレイヤーに透明なボタン領域を作ってその透明ボタン領域にリンク名を貼っています。

    • ベストアンサー
    • Flash
  • FLASHで作成したボタンのマウスを外した時の動作

    FLASHでボタンを作成するとマウスをオンしたときにはアニメーションが指定できますが、 その逆をしたいです。 (マウスをボタンから外した時に色がフェードアウトするような。) どのようにしたらできるでしょうか? よろしくお願いします。

  • ボタン操作で写真と文字が入れ替わる

    お世話になっております。度々、失礼致します。 下記に記したサイトは、とあるアーティストさんのサイトなのですが、このサイトのダイアリーにあるようなボタン操作によって文字と写真がコロコロ入れ替わる仕組みを作ってみたいと考えております。 これは、全てActionScriptによるものとお見受けしたのですが、どのような仕組みないなっており、これと同様のものを作成するためにはどうすれば宜しいのでしょうか? http://www.junkoiwao.jp/

    • ベストアンサー
    • Flash
  • flash画像の再生・ボタンによる切り替え

    初めて質問させていただきます。 flash初心者です。 CS5、ActionScript3.0で作成しております。 http://www.united-arrows.jp/ こちらのサイトのトップページにあるようなものを、flashで作成しようと考えております。 5枚の画像を順番に再生し、フェードインしながら切り替わり、また、5枚の画像に対応する5つのボタンのマウスオーバーに反応するようなものです。 上記サイトのように、表示していた画像を残しながらフェードインで切り替えとなると、重ね順の変更などが必要になってくるかと思われますが、初心者なものでActionScriptに関しての知識もほとんどなく、ネットや書籍で調べてはみたのですが全くわからず大変困っております。 どうか宜しくお願い致します。

    • ベストアンサー
    • Flash
このQ&Aのポイント
  • 質問者は、【MFC-L2750DW】という製品のIPアドレスを手動で固定する方法を知りたいという悩みを抱えています。
  • 質問者は、オンラインマニュアルを参照したが、記載がなかったため、他に手順を知りたいと考えています。
  • 質問者の環境は、Windows OSで有線LAN接続し、ひかり回線を使用しています。関連するソフトはBRAdmin Professionalです。
回答を見る