No.2ベストアンサー
- 回答日時:
>> 質問:MCを2つ以上ドラッグする方法
2つ以上ということは3,4,5,…個もあり,ということですよね。
>> 深度の上層部から下層部へいくつでもドラック&ドロップできたらいいな
これはちょっと難解ですね…
勝手に
「深度の上層部も下層部もひっくるめていくつでもドラック&ドロップできたらいいな」
と解釈します。
#1 の方のおっしゃるように 「startDrag();」 複数のシンボルがある場合使えません。
したがって,いくつでも同時にドラック&ドロップする場合,
ドラッグされるオブジェクト側も「startDrag();」は使えません。
また,
「on (press) { }」 や 「on (release) { }」 など、onイベントハンドラも複数のシンボルがある場合使えません。
深度が上の方が勝ちます。
したがって、ドラッグするムービークリップ側のスクリプトも次のような感じにするしかないと思います。
ボタンシンボルでは無理で,ムービークリップシンボルをドラッグというパターンです。
以下は,ドラッグする各ムービークリップに書くスクリプトです。
・・・コピペ可・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
onClipEvent (load) {
down_flag = 0;
}
onClipEvent (mouseDown) {
if (this.hitTest(_root._xmouse, _root._ymouse, true)) {
down_flag = 1;
dif_x = this._x-_root._xmouse; //※↓
dif_y = this._y-_root._ymouse; //※↓
}
}
onClipEvent (mouseUp) {
down_flag = 0;
}
onClipEvent (mouseMove) {
if (down_flag == 1) {
this._x = _root._xmouse+dif_x; //※↓
this._y = _root._ymouse+dif_y; //※↓
}
}
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
「マウスダウンやアップしたときの条件によって、
変数 down_flag の値を 0 か 1 に切り換え、
down_flag の値が 1 のときだけムービークリップを動かす。」
というような仕組みです。
down_flag の値が 1 になる条件は、
マウスがダウンし,なおかつドラッグするムービークリップのエリアにマウスがヒットしたときです。
ムービークリップとマウスのヒット判定には,「hitTest」を使います。(下記参考URL)
//※↓ についてですが,
変数 dif_x や dif_y を用意したのは,クリックしたポイントのままドラッグできるようにです。
マウスの位置にムービークリップの中心を持って来たい場合は,
dif_x = this._x-_root._xmouse; //※↓
dif_y = this._y-_root._ymouse; //※↓
の2行を削除し,
this._x = _root._xmouse+dif_x; //※↓
this._y = _root._ymouse+dif_y; //※↓
を
this._x = _root._xmouse;
this._y = _root._ymouse;
のように変えてください。
しかし,実際にやってみたのですが,
同じ大きさの物をつかんだとき, 変数 dif_x や dif_y をはずして行くと,すごく扱いにくくなりました。
つまり上下のムービークリップどうしが剥がれなくなってしまいます。
=== PS =======
先日の御質問の件ですが,
やはりあれいじょう回答出来ません。
この場を借りてお詫びいたします。
参考URL:http://hakuhin.hp.infoseek.co.jp/main/as/hittest …
大変滑らかに動作しました。
いつもありがとう御座います。
専門書やネットでも調べましたが、前例が出ていなかったため大変勉強になりました。
先日の件ですが、あちらにも書きましたがアドヴァイス頂いた内容からいろいろ推測することができ、
本当に感謝しております。
こちらこそ、説明不足と質問の仕方が悪いのとで
大変ご迷惑をおかけしました。
申し訳御座いません。
また何か御座いましたら、懲りずに宜しくお願い致します。
No.1
- 回答日時:
同時にドラッグできるムービークリップは1つだけです。
あるムービークリップをドラッグ中( startDrag を実行中)に別のオブジェクトで startDrag を呼び出すと、前の startDrag は削除されて動かせなくなります。
気になるのはカスタムカーソルの移動方法ですが。
カスタムカーソルは startDrag を使わなくても作れます。
要するに、デフォルトのマウスカーソルを非表示にし、ムービークリップで作ったカスタムカーソルをマウスカーソルの位置に表示すればいいわけです。
仮に、ステージにカスタムカーソルのムービークリップ” cursor ”があるとします。
カスタムカーソルを表示するスクリプトは、大体、次のようなスクリプトになります。
このスクリプトはムービークリップ” cursor ”に設定してください。
(↓各行頭に全角のスペースが入っています。コピーする際はご注意ください)
onClipEvent(load)
{
//デフォルトのカーソルを消す
Mouse.hide();
//カーソルの位置に移動
this._x = _root._xmouse;
this._y = _root._ymouse;
}
onClipEvent(mouseMove)
{
//カーソルの位置に移動
this._x = _root._xmouse;
this._y = _root._ymouse;
//表示を更新
updateAfterEvent();
}
これならカスタムカーソルの移動に startDrag を使わないので、他のムービークリップで startDrag を呼び出してドラッグすることができます。
この回答への補足
お返事有難う御座います。
しかしながら、このスクリプトは昔から使い勝手の悪いスクリプトとして有名なのです。
テキスト入力が出来なかったり、Windowから外れると
マウスポインタがそのつどずれ、ユーザーにストレスを
与えてしまいます。
ですが、お返事頂いた事、感謝致します。
有難う御座いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 化学 化学が得意な方に質問です。この問題の正解を教えて欲しいです。 【問題1】Log Kowの記述について 1 2022/09/26 23:44
- WordPress(ワードプレス) Wordpress 複数プラグインの不具合? 1 2022/10/09 21:52
- バックアップ パソコンからDVDへコピー 5 2022/08/18 14:02
- 宇宙科学・天文学・天気 AIが答えた方程式 1 2023/02/20 00:12
- スピーカー・コンポ・ステレオ MCカートリッジのオススメを教えてください。 お時間割いてくださりありがとうございます。 当方、現在 10 2022/07/04 14:20
- Chrome(クローム) サイトのショートカットアイコンの格納場所は? 1 2022/12/26 01:38
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- WordPress(ワードプレス) WordpressでYouTubeの埋め込みができない。 1 2022/10/26 01:08
- LANケーブル・USBケーブル リンクケーブルが機能してない? 2 2022/06/24 11:38
- Photoshop(フォトショップ) 【Photoshop】画像拡大時に急激に画面外まで拡大してしまうのを制御したい 1 2023/08/25 03:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python ボタンを押すと複数の関...
-
パーセントで配置したフラッシ...
-
else if文の順序を変えることに...
-
pythonのグローバル変数
-
PYTHONのtkinterについて
-
PythonでSetWindowPosを使うに...
-
pythonの画像の貼り付けについて
-
レーダーチャートの描画
-
photoshopで書いた四角の枠の中...
-
YOASOBI
-
【Photoshop】レイヤー効果の境...
-
ドラッグ&ドロップからの取得
-
VS2008 C# ボタンのテキストを...
-
テキストボックスの中身をリセ...
-
PythonのTkinterイベントについて
-
VBScriptでMsgBoxのYesNoボック...
-
五芒星は、悪魔崇拝とどういう...
-
変数に256文字以上のテキストを...
-
キープレスとボタンクリックの...
-
×ボタンを無効化したいのですが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python ボタンを押すと複数の関...
-
else if文の順序を変えることに...
-
四乗根を英語で言うと・・・
-
PythonでSetWindowPosを使うに...
-
ADに参加していないPCからADサ...
-
tkinterからplt.plot()を呼びたい
-
Pythonのtkinterについて
-
pythonのグローバル変数
-
PYTHONのtkinterについて
-
flash 大きさの異なる写真のス...
-
関数をプロパティとして代入する際
-
pythonの画像の貼り付けについて
-
SNMPの標準MIBについて
-
2分木を中順でなぞりたいので...
-
Flashvars getURLの書き方
-
リンクでのエスケープシーケン...
-
Flashの表示サイズを動的に変更...
-
■外部jpgをクロスフェードさせ...
-
ゲージと連動したムービークリ...
-
ボタンの上にマウスを置くと虫...
おすすめ情報