scaleform.minarto.com

scaleform 3&4 - 5 : KeyboardEvent 본문

Scaleform

scaleform 3&4 - 5 : KeyboardEvent

미나토 2011. 9. 4. 16:53

보통 as3에서 keboardevent 를 받기 위해서는 보통 다음과 같이 한다


stage.addEventListener(KeboardEvent.Key_Down, onKeyDown);

function  onKeyDown($e:KeboardEvent):void
{
}


지난 시간 MouseEvent 를 구현하기 위해 CStage 를 구현했기에, 해당 클래스에 as2 의 Key class 리스너를 추가해준다면 동일하게 사용할 수 있다.

var stage:CStage = CStage.getInstance();
stage.addEventListener(KeboardEvent.Key_Down, this, "hnKeyDown");

function  hnKeyDown($e:KeboardEvent):void
{


뭐, 이렇게 될 것이다.


여기까지야 지난번에서 딱히 바뀐게 없으니 그냥 넘어가고, 이제 KeboardEvent 의 ctrlKey, altKey. shiftKey 속성만을 추가해주면 된다.

이거야 사실 어려울 것이 없다. 각각 Boolean 변수 하나씩 만들어놓고, keydown 시에 true, up시에 false 만 넣어주면 끝난다.

KeboardEvent.ALT_KEY = true 뭐 이정도??


이를 static 으로 걸어놓으면 MouseEvent 에서도 가져다 쓸 수 있으니, alt + 마우스 이벤트의 조합 또한 가능하다... 


그리고 이역시 CStage 한곳에서 관리하니 gc 또한 편리하다.

요렇게 모아진 CStage class 야 말로 이렇게 올려놓은 프레임웍의 알파요 오메가 되겠다. 마음같아서는 공개하고 싶으나, 회사의 일이다보니 이 정도만을 보여드림을 양해를 바란다...(실제 공개하면 안되냐고 물어보기도 했다는...)