メイン コーダーズルーム【スクリプト系】
ドラッグアンドドロップについて教えてください | 投稿するにはまず登録を |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | スレッド |
|---|---|
| sinketu | Åê¹ÆNo.12453 投稿日時: 2004-11-19 2:41 |
半人前 ![]() ![]() 居住地: 東京都 投稿: 34
使用環境:
WinXP ,Flash CS3 ![]() |
ドラッグアンドドロップについて教えてください お尋ねいたします。
ボックスの中に二つのムービークリップをいれ、 1つ目をドラッグして、はなした後、2つ目をドラッグする といったものを作りたいのです。 構造としては、boxという親ムービークリップのなかに、piece1というムービークリップと、piece2という子のムービークリップを入れております。 そして、ルートタイムラインに以下のスクリプトを書いてます。 n = 1; box["piece"+n].onPress = function() { box["piece"+n].startDrag(); }; this.box["piece"+n].onRelease = function() { box["piece"+n].stopDrag(); n += 1; }; 結果、1つ目のpiece1はドラッグアンドドロップできるのですが、 2つ目のpiece2をドラッグできません。 1つ目を話した後、再び1つ目ドラッグすると、離れたところで2つ目が動いてしまいます。 どうやったら2つ目をドラッグできるようになりますでしょうか。 よろしくお願いいたします。 |
| 空野大二郎 | Åê¹ÆNo.12454 投稿日時: 2004-11-19 4:02 |
職人 ![]() ![]() 居住地: 愛知 投稿: 389
使用環境:
XP:Home FlashMXIE6.0+FlashPlayer7,0,19 CPU:Pentium4 2.26GHz メモリ:1,024MB |
Re: ドラッグアンドドロップについて教えてください まいど。
類似した状況がありましたので、こうすればとりあえず動く程度の サンプルを提示します。 ルートタイムラインに記述。 引用: sinketuさんは書きました: sinketuさんのスクリプトで注目したのは、下記で宣言された MovieClip.onPressイベントハンドラメソッドが、リフレッシュ (スクリプトの再読込)されていないために、_root.box.piece1へ のイベントハンドラメソッドが残り、離れたところにある_root.box.piece2 ムービークリップが不自然にドラッグ可能になったことが 分かりました。 そんなふうに思ったのですが、たとえ上記のイベントハンドラメソッドが リフレッシュされても、_root.box.piece1のイベントハンドラメソッドが 残る事が確認されて、こちらも悩んでおります。 _rootのタイムラインに配置された変数を元にイベントハンドラ メソッドの指定先を変更するのには「不安が残る」とするしか ありませんでした。
|
| 野中文雄 | Åê¹ÆNo.12457 投稿日時: 2004-11-19 7:37 |
ちょんまげら ![]() ![]() 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: ドラッグアンドドロップについて教えてください functionには、(1)定義と(2)実行(呼出し)とがあります。1度定義を行えば、いつでも呼出しは可能です。しかし、定義を変更しなければ、実行される処理は変わりません。
引用: sinketuさんは書きました: 以下のスクリプトは、変数nの値が1の状態で、1度だけ処理されるものと思われます。そのため、イベントハンドラメソッドの定義先(ターゲット)は、(box.piece1のまま)変更されません。 しかし、イベントハンドラメソッドが実行されると、変数値は変わります。したがって、ドラッグのターゲットのみが変更されます。 引用: そして、ルートタイムラインに以下のスクリプトを書いてます。 functionの定義自体を、必要に応じてやり直さなければなりません。 |
| 空野大二郎 | Åê¹ÆNo.12461 投稿日時: 2004-11-19 10:32 |
職人 ![]() ![]() 居住地: 愛知 投稿: 389
使用環境:
XP:Home FlashMXIE6.0+FlashPlayer7,0,19 CPU:Pentium4 2.26GHz メモリ:1,024MB |
Re: ドラッグアンドドロップについて教えてください まいど。
現象の原因は、そんなわけだったのですか。 的確なご説明、ありがとうございます。 説明不足、申し訳ありませんでした。 引用:
また一つ、勉強になりました。
|
| sinketu | Åê¹ÆNo.12505 投稿日時: 2004-11-20 7:23 |
半人前 ![]() ![]() 居住地: 東京都 投稿: 34
使用環境:
WinXP ,Flash CS3 ![]() |
Re: ドラッグアンドドロップについて教えてください 野中さん、空野さん、ありがとうございました。
おかげさまで動かすことが出来ました。 再定義が必要なんですね。 |
| 永井勝則 | Åê¹ÆNo.12517 投稿日時: 2004-11-20 19:42 |
職人 ![]() ![]() 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: ドラッグアンドドロップについて教えてください 永井勝則(=勝手に人様のスクリプトを作りかえて修行中)です。
異なる方法(MX風クラス定義手法)で、同じようなものを作ってみました。 boxMC(親MC)の中にドラッグするMC(子MC)が複数ある構造です。 boxMCもドラッグするMCもインスタンス名は不要、ドラッグするMCは何個でも 追加でき(るはずでござい)ます。boxMCのリンケージで"DragSymbol"を入れます。子MCが重なった時のスワップ処理も入っています。
|
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
| 投稿するにはまず登録を | |



ログイン


,Flash CS3 


FlashMX

.6.8 



