0

私は Actionscript にはかなり慣れていませんが、関数とイベント リスナーをうまく使いこなしてきたので、誰かが私のプロジェクトで何が起こっているのかを教えてくれるのではないかと思っていました。

だから私は基本的なドラッグアンドドロップ機能を持っていますが、このコードを実行すると、すべての異なるレイヤーとフレームからステージ上のすべてが移動します。これが発生したくないので、さまざまなオブジェクトをドラッグしたいだけです

answer1_word.addEventListener(MouseEvent.MOUSE_DOWN, answer1_drag)
function answer1_drag(event:MouseEvent):void {
startDrag();
}

answer1_word.addEventListener(MouseEvent.MOUSE_UP, answer1_drop)
function answer1_drop(event:MouseEvent):void {
stopDrag();
}

コードに問題があるとは思いませんが、助けていただければ幸いです。ありがとうございます!

編集:モーション提案

if(answer1_word.hitTestObject(word_select_box)){
trace("Hello");
}

これは私のヒット テスト オブジェクト コードです。

4

1 に答える 1

0

「ルート」レベルのコンテナで startDrag() と stopDrag() を呼び出しています。それが「舞台」です。移動するインスタンスから startDrag() と stopDrag() を呼び出す必要があります。

answer1_word.addEventListener(MouseEvent.MOUSE_DOWN, answer1_drag)
function answer1_drag(event:MouseEvent):void {
 answer1_word.startDrag();
}

answer1_word.addEventListener(MouseEvent.MOUSE_UP, answer1_drop)
function answer1_drop(event:MouseEvent):void {
 answer1_word.stopDrag();
}

正直なところ、複数の Draggle オブジェクトを使用する予定がある場合は、event.target を使用して抽象化します。

answer1_word.addEventListener(MouseEvent.MOUSE_DOWN, onDrag)
answer1_word.addEventListener(MouseEvent.MOUSE_UP, onDrop)

function onDrag(event:MouseEvent):void {
 event.target.startDrag();
}


function onDrop(event:MouseEvent):void {
 event.target.stopDrag();
}
于 2013-04-14T16:07:53.653 に答える