3

Flash では、マウス クリック イベントのセットが 2 つあるようです。

  • onMouseUp、onMouseDown
  • onPress、onRelease

これらのイベントの間に実際の違いはありますか? ドキュメンテーションからはわかりませんし、実際の使用では何も気づいていませんが、同じ基本イベントに対して 2 つの異なる名前のセットがあるのは奇妙に思えます。何か不足していますか?それらの間に違いはありますか?

明確化: これは、Flash 8 を対象とした ActionScript 2 コードにあります。

4

5 に答える 5

5

onMouseDownとonMouseUpは、Mouse.addListener()を介して何でもリッスンできる一般的なイベントです。マウスがクリックされた場所に関係なく、トリガーされます。

onPressとonReleaseは、特定のMovieClipに固有です。それらは、そのMovieClipの上でマウスが押されたときまたは離されたときにのみトリガーされます。また、onReleaseOutsideも重要です... MovieClipをクリックして、マウスを外側にドラッグしてから放す場合です。その場合、onReleaseイベントは発生せず、onReleaseOutsideイベントのみが発生するため、後者をリッスンしていない場合、プログラムはマウスボタンが動かなくなったと見なします。

于 2008-10-13T15:59:43.007 に答える
4

プレス/リリースは、マウス イベントではなく、対話イベントです。ボタンまたは MC をキーボードで (タブで移動してスペースを押すことにより) アクティブにすると、Press イベントが発生しますが、MouseDown は発生しません。同様に、無効なボタンをクリックすると、MouseDown イベントが発生しますが、Press は発生しません (ボタンの操作が発生しないため)。

于 2008-10-14T01:52:21.813 に答える
1

私は質問のグーグルをしているときにこれを見つけました:

http://www.gogoat.com/2006/07/27/onpress-vs-onmousedown/

マウスがムービークリップの外側にある場合でも、mouseUp / mouseDownイベントトリガーされるようですが、onPress / Releaseは、処理される前にマウスがクリップ内にあるかどうかを自動的に確認します。私はそれをテストすることを誓ったかもしれませんが、私はそれを検証しただけなので、持ってはいけません。

于 2008-10-13T16:01:12.630 に答える
1

Flash 開発者ではありませんが、通常の Windows アプリでは、スペースバーでボタンを押して、Enter キーでアクティブにできます。

また、MouseUp/Down はどこでも発生する可能性があり、何も意味しない場合があります。したがって、特定のコントロールのプレス/リリースには、より重要な意味があります。

于 2008-10-13T15:21:30.040 に答える
-1

onPress と onRelease は AS2 コードからのホールド オーバーです。AS3 では onMouseDown と onMouseUp に取って代わられました。これについてはAS2 移行ガイドを参照してください。

于 2008-10-13T15:46:10.833 に答える