* 본 포스트를 퍼가실 때는 상단에 아래와 같이 원본과 출처를 명시해 주세요! ^^
원본 : http://blog.missflash.com/
출처 : MissFlash.com, http ://www.missflash.com/
* 포스트의 내용중 일부가 추가/수정될 수 있으므로 최신 내용을 접하고 싶으신 분은 원본글을 이용하시기 바랍니다.
1.6 Responding to Mouse and Key Events
Problem
여러분이 마우스나 키보드의 동작에 어떤 반응을 보이고 싶을 때
Solution
mouse나 key 이벤트를 이용합니다.
Discussion
마우스 이벤트의 이름은 MouseEvent 클래스에 정의되어 있습니다.
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
public class MF_Flex extends Sprite
{
private var _sprite:Sprite;
public function MF_Flex()
{
_sprite = new Sprite();
addChild(_sprite);
_sprite.graphics.beginFill(0xeeeeee);
_sprite.graphics.drawRect(0,0,400,400);
_sprite.graphics.endFill();
_sprite.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
_sprite.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
stage.focus = this;
addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
}
private function onMouseDown(event:MouseEvent):void
{
_sprite.graphics.lineStyle(1,0,1);
_sprite.graphics.moveTo(mouseX, mouseY);
_sprite.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
}
private function onMouseUp(event:MouseEvent):void
{
_sprite.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
}
private function onMouseMove(event:MouseEvent):void
{
_sprite.graphics.lineTo(mouseX, mouseY);
}
private function onKeyDown(event:KeyboardEvent):void
{
trace("Key down : " + event.charCode);
}
}
}
키보드 이벤트에 따른 응답을 위해서는 focus를 이용하면 됩니다.
stage.focus = this;
위와 같은 코드를 작성함으로써 키보드 이벤트에 응답할 수 있습니다.
See Also
Recipe 1.5
'Flash > ActionScript 3.0' 카테고리의 다른 글
[MissFlash의 ActionScript 3.0] 1.8 Checking Equality or Comparing Values (0) | 2007.04.14 |
---|---|
[MissFlash의 ActionScript 3.0] 1.7 Using Mathematical Operators (0) | 2007.04.12 |
[MissFlash의 ActionScript 3.0] 1.5 Handling Events (0) | 2007.04.10 |
[MissFlash의 ActionScript 3.0] 1.4 How to Trace a Message (0) | 2007.04.08 |
[MissFlash의 ActionScript 3.0] 1.3 Where to Place ActionScript Code (0) | 2007.04.04 |