| Package | flash.ui |
| Class | public final class Mouse |
| Inheritance | Mouse Object |
See also
| Methods | 정의 | ||
|---|---|---|---|
![]() | hasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
| Object | |
| hide ():void
[static]
포인터를 비표시로 합니다.
| Mouse | ||
![]() | isPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
| Object | |
![]() | propertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
| Object | |
![]() | setPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
| Object | |
| show ():void
[static]
포인터를 표시합니다.
| Mouse | ||
![]() | toString ():String
지정된 object의 string 표현을 돌려줍니다.
| Object | |
![]() | valueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
| Object | |
| hide | () | Methods |
| show | () | Methods |
cursor, CustomButton 형의 인스턴스 property child
및 uint 형의 인스턴스 property gutter 를 선언합니다.
child 를 새로운 CustomButton 인스턴스에 할당해 그 x 좌표 및
y 좌표를 각각 10 픽셀로 설정해, 인스턴스를 표시 리스트에 추가합니다.
CustomButton 클래스는,downState,upState,
overState, 및 hitTestState property를 재정의(override) 합니다. 이러한
property는, 다른 사각형을 묘화 하는 ButtonDisplayState object를 인스턴스화합니다. 이것은,
child 인스턴스 상태에 따라서 다릅니다. child 인스턴스는, 다음에,MOUSE_OVER event listener 및
mouseOverHandler() listener Methods를 추가하기 위해서 사용됩니다. MOUSE_OUT event listener 및 관련한다
mouseOutHandler() Methods를 경유해 제공되는 정보가 출력됩니다. mouseOverHandler: "통상의" 포인터를 비표시로 해, MOUSE_MOVE
listener를 추가합니다. 이 listener는,mouseMoveHandler() 를 사용해 마우스의 이동을 처리합니다. 이 핸들러에 대해서는,
이하로 설명합니다. mouseOutHandler: 마우스가 custom 버튼외로 이동했을 때에,
"통상의" 포인터를 표시해, MOUSE_MOVE event listener를 삭제해, custom car 솔의
가시성을 false 로 설정합니다. mouseMoveHandler: 포인터가 이동된 장소에 custom car 솔을 이동해,
custom car 솔의 가시성을 true 로 설정합니다. MouseExample constructor 에 돌아와, 커서의 property를 새롭다
CustomCursor object에 할당한 후,addChild() 을 사용해 표시 리스트에 추가합니다.
CustomCursor 클래스는,"통상의" 포인터 대신에 작은 흑색에 가까운 사각형을 묘화 합니다.
이 묘화는, 마우스가 child 위에 놓여졌을 때에 실행됩니다. MOUSE_LEAVE 의 4 개째의 event listener가, 관련한다
mouseLeaveHandler() Methods와 함께 추가됩니다. 이 Methods는, 마우스가 스테이지를 떠나면 불려 가
mouseOutHandler() 에 새로운mouseMove listener objects를 건네줍니다. 이 object는, 본질적으로
포인터를 스테이지상에 남기지 않기 위해(때문에) 포인터를 삭제합니다.
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();
}
}