패키지flash.ui
클래스public final class Mouse
상속Mouse Inheritance Object

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

Mouse 클래스의 메서드는 마우스 포인터를 표시하거나 숨기는 데 사용됩니다. Mouse 클래스는 생성자 없이 사용할 수 있는 메서드와 속성을 갖는 최상위 레벨 클래스입니다. 포인터는 기본적으로 표시되지만 포인터를 숨기고 사용자 정의 포인터를 구현할 수 있습니다.

예제를 통해 확인하십시오.

참고 사항

flash.events.MouseEvent
마우스 입력 캡처


Public 속성
 속성다음에 의해 정의됨
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
 Inheritedprototype : Object
[static] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
Public 메서드
 메서드다음에 의해 정의됨
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
  
[static] 포인터를 숨깁니다.
Mouse
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
  
[static] 포인터를 표시합니다.
Mouse
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
메서드 정보
hide()메서드
public static function hide():void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

포인터를 숨깁니다. 포인터는 기본적으로 표시됩니다.

참고 사항

show()메서드 
public static function show():void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

포인터를 표시합니다. 포인터는 기본적으로 표시됩니다.

참고 사항

예제 예제 사용 방법
MouseExample.as

다음 예제에서는 MouseExample, SimpleButton, ButtonDisplayState 및 CustomCursor 클래스를 사용하여 스테이지에 간단한 버튼을 배치합니다. 버튼에는 사용자 정의 포인터가 있고 클릭 시 버튼이 바뀝니다. 이는 다음 단계로 이루어집니다.
  1. CustomCursor 유형의 cursor, CustomButton 유형의 child 및 uint 유형의 gutter 인스턴스 속성을 선언합니다.
  2. child를 새 CustomButton 인스턴스에 할당하고 xy 좌표를 각각 10픽셀로 설정한 다음 이 인스턴스를 표시 목록에 추가합니다. CustomButton 클래스는 SimpleButton의 downState, upState, overStatehitTestState 속성을 재정의합니다. 이러한 각 속성은 child 인스턴스의 상태에 따라 다른 사각형을 그리는 ButtonDisplayState 객체를 인스턴스화합니다.
  3. child 인스턴스를 사용하여 MOUSE_OVER 이벤트 리스너 및 mouseOverHandler() 리스너 메서드를 MOUSE_OUT 이벤트 리스너 및 연관된 mouseOutHandler() 메서드와 함께 추가합니다.
  4. 이벤트 리스너는 다음과 같이 작동합니다.
    • mouseOverHandler: "일반" 포인터를 숨기고 MOUSE_MOVE 리스너를 추가합니다. 이 리스너는 아래에서 설명하는 mouseMoveHandler()를 사용하여 마우스 이동을 처리합니다.
    • mouseOutHandler: 마우스가 사용자 정의 버튼을 벗어나면 "일반" 포인터가 표시되고 MOUSE_MOVE 이벤트 리스너가 제거되며 사용자 정의 커서의 표시 여부가 false로 설정됩니다.
    • mouseMoveHandler: 포인터가 이동될 때마다 사용자 정의 커서가 이동되고 사용자 정의 커서의 표시 여부가 true로 설정됩니다.
  5. 다시 MouseExample 생성자에서 커서 속성을 새 CustomCursor 객체에 할당한 다음 addChild()를 사용하여 표시 목록에 추가합니다. 마우스를 child 위에 놓을 때마다 CustomCursor 클래스를 통해 "일반적인" 포인터 대신 검정색에 가까운 작은 사각형이 그려집니다.
  6. MOUSE_LEAVE 유형의 네 번째 이벤트 리스너가 관련 mouseLeaveHandler() 메서드와 함께 추가됩니다. 마우스가 스테이지를 벗어날 때 호출되는 이 메서드에서는 mouseOutHandler()를 새 mouseMove 리스너 객체에 전달하여 포인터를 스테이지에서 제거합니다.
package {
    import flash.display.Sprite;
    import flash.display.DisplayObject;
    import flash.ui.Mouse;
    import flash.events.*;

    public class MouseExample extends Sprite {
         private var cursor:CustomCursor;
         private var child:CustomButton;
         private var gutter:uint = 10;

        public function MouseExample() {
            child = new CustomButton();
            child.x = gutter;
            child.y = gutter;
            addChild(child);

            child.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
            child.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);

            cursor = new CustomCursor();
            addChild(cursor);

            stage.addEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler);
        }

        private function mouseOverHandler(event:MouseEvent):void {
            trace("mouseOverHandler");
            Mouse.hide();
            child.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
        }

        private function mouseOutHandler(event:MouseEvent):void {
            trace("mouseOutHandler");
            Mouse.show();
            child.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
            cursor.visible = false;
        }

        private function mouseMoveHandler(event:MouseEvent):void {
            trace("mouseMoveHandler");
            cursor.x = event.localX;
            cursor.y = event.localY;
            event.updateAfterEvent();
            cursor.visible = true;
        }

        private function mouseLeaveHandler(event:Event):void {
            trace("mouseLeaveHandler");
            mouseOutHandler(new MouseEvent(MouseEvent.MOUSE_MOVE));
        }
    }
}

import flash.display.Shape;
import flash.display.SimpleButton;
    
class CustomButton extends SimpleButton {
    var upColor:uint = 0xFFCC00;
    var overColor:uint = 0xCCFF00;
    var downColor:uint = 0x00CCFF;
    var size:uint = 80;
    
    public function CustomButton() {
        downState = new ButtonDisplayState(downColor, size+10);
        overState = new ButtonDisplayState(overColor, size);
        upState = new ButtonDisplayState(upColor, size);
        hitTestState = new ButtonDisplayState(upColor, size);
    }
}

class ButtonDisplayState extends Shape {
    var bgColor:uint;
    var size:uint;
    
    public function ButtonDisplayState(bgColor:uint, size:uint) {
        this.bgColor = bgColor;
        this.size = size;
        draw();
    }
    
    private function draw():void {
        graphics.clear();
        graphics.beginFill(bgColor);
        graphics.drawRect(0, 0, size, size);
        graphics.endFill();
    }
}
    
class CustomCursor extends Shape {
    var bgColor:uint = 0x333333;
    var size:uint = 10;
    
    public function CustomCursor() {
        visible = false;
        draw();
    }
    
    private function draw():void {
        graphics.clear();
        graphics.beginFill(bgColor);
        graphics.drawRect(0, 0, size, size);
        graphics.endFill();
    }
}




 

이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서

현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/ui/Mouse.html