• 締切済み

ドラッグ&ドロップ&拡大できる地図

BlurFiltanの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.4

#1・2・3 です。 返事(回答)がおそくなってしまいました。 「作りかえなんか簡単だろう」 と思っていましたが,実際にやってみたら難しかったです。 変なところで色々連動していて頭がごちゃごちゃになりましたし, 仮にできても, サイズや座標を変えたいような場合は使えなくなると思いました。 したがって, 基本的にスクリプトの作りかえはせずに最初から作成してみました↓。 //////////////////////////////////////////////////// /* 親子MC とも基準点は中心で 子MC に書くスクリプト です 親MCの初期配置座標はマスク内であれば任意です */ // このMC(子MC)が表示されたとき onClipEvent (load) { //---↓初期設定↓------------- // 拡大スピードの設定(※変更可) spd = 1/2; // 拡大率の設定(※変更可) size0 = 100; size1 = 150; size2 = 250; // マスクの 左上x座標・左上y座標 と // 横幅・高さ の設定(※変更可) msk_x = 50.5; msk_y = 49.5; msk_w = 699; msk_h = 499; //---↑初期設定↑------------- // // ハンドカーソルにしない this.useHandCursor = false; // クリックをカウントする変数 cnt の初期化 cnt = 0; // 親の初期座標を記録 p_x = _parent._x; p_y = _parent._y; // 親の縦横サイズの記録 p_w = _parent._width; p_h = _parent._height; // 最初のサイズを設定 size = size0; } // この MC プレスしたとき on (press) { // プレスフラグを true にする press_flg = true; // プレス時の座標を記録 mos_x = _parent._xmouse; mos_y = _parent._ymouse; } // この MC を放したとき on (release, dragOut) { // プレスフラグを false にする press_flg = false; if (!drag_flg) { // cnt が2未満でカウントアップ cnt = (cnt<2) ? cnt+1 : 0; // 目標サイズを切り替える size = this["size"+cnt]; if (cnt != 0) { this._x = this._x-mos_x; this._y = this._y-mos_y; _parent._x = _root._xmouse; _parent._y = _root._ymouse; } else { this._x = this._y=0; _parent._x = p_x; _parent._y = p_y; } } // ドラッグフラグを false にする drag_flg = false; } // マウスが動いたとき(主にドラッグに関して) onClipEvent (mouseMove) { if (press_flg) { // ドラッグフラグを true にする drag_flg = true; // 横長になるので 現在の親のサイズ を変数化 npw = _parent._width; nph = _parent._height; // 取りあえずドラッグ _parent._x = _root._xmouse-mos_x*npw/p_w; _parent._y = _root._ymouse-mos_y*_parent._height/p_h; // ドラッグしたときの補正(ドラッグ制限) if (_parent._x>=msk_x+npw/2-this._x*npw/p_w) { _parent._x = msk_x+npw/2-this._x*npw/p_w; } else if (_parent._x<=msk_x+msk_w-npw/2-this._x*npw/p_w) { _parent._x = msk_x+msk_w-npw/2-this._x*npw/p_w; } if (_parent._y>=msk_y+nph/2-this._y*nph/p_h) { _parent._y = msk_y+nph/2-this._y*nph/p_h; } else if (_parent._y<=msk_y+msk_h-nph/2-this._y*nph/p_h) { _parent._y = msk_y+msk_h-nph/2-this._y*nph/p_h; } updateAfterEvent(); } } // 随時実行(拡大縮小に関して) onClipEvent (enterFrame) { if (!drag_flg) { _parent._xscale = _parent._yscale += (size-_parent._yscale)*spd; } } //////////////////////////////////////////////////// 色んな場合でも, //---↓初期設定↓-------------   この間 //---↑初期設定↑------------- の数値を書き替えるだけで使用できると思います。 大きな変更がなければ他は触る必要はないと思います。

funky_tom
質問者

お礼

>BlurFiltanさん わお~ すっご~い。。 バッチリでっす。。 解説も付けてもらって嬉しいっす。。 BlurFiltanさんのスクリプトを調べながら 自分でも考えてみます。 的確な応対ですごく助かりました。 ほんとうにありがとうございます。

関連するQ&A

  • レイヤーをドラッグ&リンクしたい

    http://hfm-kenchan.com/Lesson/log_qa/D0507204.htm の「depths0.fla」を使ってレイヤーがドラッグできるFlashを作っています。 2回クリックしたときgetURLでページにリンクさせたいのですが、 なかなかうまくいきません。 どのようなアクションスクリプトをつかったら いいでしょうか? 教えてください。

    • ベストアンサー
    • Flash
  • Android studioでドラッグ&ドロップ

    初めまして。 タイトルの通りAndroid Studioでドラッグ&ドロップの処理をしたいと思っています。 ですがAndroid Studioをいじるのは初めてでなおかつJavaは初心者です。 いままでやったことは画面移行とボタンの作成などです。 今回は画像を用意してその画像を画面上でドラッグ&ドロップしたいと考えています。 ライブラリなども使い方がわかりません。 このような初心者ですが、どのようにすれば処理ができるのか大まかな流れを教えていただけると助かります。 よろしくお願いします。

  • 【OpenGL ドラッグ&ドロップのやり方教えて下さい】

    現在OpenGLでプログラミングをおこなっているのですが、分からないことがあるので教えていただければと思います。 ウィンドウ内に物体を置いて、それをマウスでドラッグ&ドロップのように移動させるプログラムをgltranslateで作ってみたのですが、うまくいきません。 ドラックして移動させるという動作をどの様に実現すればよいのでしょうか?プログラミング初心者なので、わかりやすく教えていただければと思います。 また、参考になるプログラム等あるサイトなどあれば教えてください。宜しくお願いいたします。

  • VisualBasic2008を使い、画像のドラッグ&ドロップをしたい

    VisualBasic2008を使い、画像のドラッグ&ドロップをしたい まだVB2008の勉強を始めたばかりの初心者です。 PictureBox1~PictureBox4に表示されている画像をドラッグ&ドロップでPictureBox5にコピーして表示させたいのですが、どのようなプログラムにすればいいのかが分かりません。 PictureBox5には何度でもPictureBox1~PictureBox4の画像をドラッグ&ドロップで入れ替えができ、PictureBox1~PictureBox4の画像はそのままになるようにしたいです。 よろしくお願いします。

  • フォトッショップエレメント3.0にて、画像がドラッグ&ドロップできません。

    (フォトショップエレメント3.0にて)白紙ファイルに画像を取り込みたいのですが、あるGIFファイルを開き下の欄の最初に開いた白紙ファイルにドラッグ&ドロップしようとしたら出来ませんでした。そのGIFファイルは、移動は出来ますが新規レイヤーを作成する事ができないんです。ネット上で右クリックして保存した画像だからでしょうか?よくわかりません。教えて下さい。また白紙ファイルに画像を取り込むにはワードでいうところの挿入から取り込むみたいな方法はないのでしょうか?いつも最初に白紙ファイルを開く→取り込みたいファイルを開き白紙ファイルにドラッグ&ドロップする方法をとっています。とても困ってます。よろしくお願いします。

  • Photoshopにドラッグアンドドロップで

    PhotoshopCS5で画像編集しています。 カンバスサイズを1000×1000で新規作成の際 800×800など、カンバスサイズより小さい画像を エクスプローラからPhotoshopに ドラッグアンドドロップしたところ 全ての画像ではなく、画像によっては貼り付けられた時に 1/6サイズやそれ以下になり とても小さくなってしまうことがあります。 どうすれば、ドラッグアンドドロップで サイズを変えずに貼り付けられるのでしょうか。

  • ドラッグ&ドロップ禁止について

    JavaScript初心者です。 IEへファイルのドラッグ&ドロップを禁止したいのですが、 うまくいきません。テキストや画像ファイルを、IEに ドラッグ&ドロップすると表示されてしまいます。 何方か御存知の方、教えていただけないでしょうか? よろしくお願いいたします。 環境:W2K、IE6SP1、JDK1.3 です。 ソースは以下のとおりです。 -- ソース -------------------- <HTML> <SCRIPT Language="JavaScript"> <!-- window.ondragdrop = false; // --> </SCRIPT> <BODY> ドラッグ&ドロップ禁止 </BODY> </HTML> -----------------------------

  • MFCのドラッグ&ドロップについて

    閲覧して頂きありがとうございます。 現在、WindowsXPでvc++6.0のMFC(ダイアログベース)を利用してダイアログを作り エディットボックスに入力されたファイルパスを利用して指定のファイルを 開く簡単なアプリを作ろうとしています。 そこでダイアログのエディットボックスの部分にファイルをドラッグ&ドロップすると エディットボックスにドロップされたファイルのパスを表示させようとしていますが、中々できません。 状況としては、グループボックスの中にエディットボックスを作成し、 グループボックスを右クリック→プロパティ→ドラッグドロップを許可 をすることによりグループボックスにドロップの許可を与えることはできていますが ドロップのイベントを拾うことができておりません。 ※参考サイトなどをみると「WM_DROPFILES」というハンドラがあるみたいなのですが  どこにも見当たらないです。。。 何か不明な点などあれば補足させて頂きますので、よろしくお願いします。

  • Flash 地図の拡大表示

    Flash初心者です。 以下のサイトの地図表示のように、 http://www.fujitsu.com/global/ 【各エリア毎にrollover→色が変更→クリック→拡大表示】 となるFlash地図を作成したいのですが思うように出来ません。 ・各エリアをボタンにすると、滑らかな拡大表示が出来ず、 ・各エリアをムービークリップにすると色を変える事が出来ません。 関連サイトを調べて地図全体を拡大するサンプルは 見つけたのですが、各地域を個別に拡大表示するものが無く、 こちらに質問させて頂きました。 宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • jqueryを利用してインラインフレームに画像をドラッグ&ドロップした

    jqueryを利用してインラインフレームに画像をドラッグ&ドロップしたい jqueryを使って、画像をドラッグしたり、それを自分で設定したエリアにドロップすることはできました そこで、インラインフレームを使って表示している外部プログラムにドロップエリアを作成し、親フレームからインラインフレームに画像をドラッグ&ドロップして要素を渡したいと思ったのですがやり方が分かりません よろしくお願いします