我认为我有一个非常简单的任务:创建一个模拟时钟,学生可以通过移动小时和分钟句柄来设置时间。
嗯,整个过程都很重要......我已经创建了一个骨骼系统,以确保在手柄被拉动时两个手柄底座都保持在时钟的中心位置。问题是我不能限制用户在每个句柄的“范围”内移动(或者在那里?)如果鼠标恰好在拖放点处拖动句柄的外侧,则MOUSE_UP事件不会触发。
我也找了一个MovieClipModified事件,在这种情况下可以创造奇迹,但我找不到它......
有没有办法摆脱这种情况?
TIA
答案 0 :(得分:3)
你可以利用像这样的舞台鼠标事件。
handle.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
handle.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
private function onMouseDown(e:mouseEvent):void {
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); //if mouse is out of drag handle then this will still keep track of mouse up event
//do the dragging
}
private function onMouseUp(e:mouseEvent):void {
//handle mouse up for the handle
stage.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp);
}