■
[as3]mouse down -> up -> click
イベントの順番。
MouseEvent.MOUSE_DOWN -> MouseEvent.MOUSE_UP -> MouseEvent.CLICK
の順番でイベントが発生する。
なのでドラッグを始める(startDrag)処理とクリックをキャッチしたいとかいう重複した処理を設定した場合、ドラッグが終わった後にクリックのイベントが発生するので(たぶん)意図しない動きになると思う。
mc.addEventListener(MouseEvent.MOUSE_DOWN, function(evt:MouseEvent) { mc.startDrag(); trace("mouse_down"); } ); mc.addEventListener(MouseEvent.MOUSE_UP, function(evt:MouseEvent) { mc.stopDrag(); trace("mouse_up"); } ); mc.addEventListener(MouseEvent.CLICK, function(evt:MouseEvent) { trace("clicked"); } );
ドラッグ操作後のtraceの結果は
mouse_down mouse_up clicked
こんなん。
マウスボタンが上がって下がっての間にドラッグしてなければクリックをキャッチ、ということがしたい場合、自分でイベント作った方がいいのかな。