Posted
Filed under Action Script

ActionScript 3.0에서 onReleaseOutside를 대체할 만한 이벤트가 없습니다.
그래서 MOUSE_DOWN 이벤트가 발생할 때, stage에 MOUSE_UP 이벤트를 추가했다가,
MOUSE_UP 이벤트 핸들러에서 다시 MOUSE_UP를 제거시키는 방법을 사용해야 하네요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public function Test(){
        // Add MOUSE_DOWN event to mc
        mc.addEventListener(MouseEvent.MOUSE_DOWN, rotateDragStart);
}
 
private function rotateDragStart(evt:MouseEvent):void{
        // Start drag
 
        // Add ENTER_FRAME event to mc
        mc.addEventListener(Event.ENTER_FRAME, rotateDragging);
        // Add MOUSE_UP event to stage
        stage.addEventListener(MouseEvent.MOUSE_UP, rotateDragStop);
}
private function rotateDragStop(evt:MouseEvent):void{
        // Stop drag
 
        // Remove ENTER_FRAME event from mc
        mc.removeEventListener(Event.ENTER_FRAME, rotateDragging);
        // Remove MOUSE_UP event from stage
        stage.removeEventListener(MouseEvent.MOUSE_UP, rotateDragStop);
}
private function rotateDragging(evt:Event):void{
        // Excute while dragging
}

thanks to derision, kidari70 and plandas from flash8coders.com

2010/05/30 20:53 2010/05/30 20:53