jasu's blog
블로그 메뉴글
마녀의 조건 OST - first love
글
Firefox에서 임시 인터넷 파일 저장 경로 사용자 설정방법
1. 파이어폭스 주소입력창에서 about:config를 입력한다.
2. 설정 이름중에서 "browser.cache.disk.parent_directory" 항목을 찾는다.
3. 항목에서 오른쪽 마우스 클릭이나 더블 클릭을 하여 설정값을 원하는 폴더로 변경한다.
예) c:\\windows\temp
4. 위 "browser.cache.disk.parent_directory" 항목이 없을 경우에는 설정값들이 보이는 리스트의 빈 영역에서 마우스 오른쪽 클릭을 하여 새로 만들기 -> 문자열 을 클릭하여 새 문자열 작성 창을 연다
5. 새 문자열 값 => "browser.cache.disk.parent_directory" 로 입력하고 확인을 누른다.
6. 문자열 값 입력 => c:\\windows\temp를 입력하고 확인을 누른다.
7. 파이어폭스 브라우저를 닫고 다시 실행하여 사용하게 되면 앞에서 사용자가 설정한 폴더에 임시파일이 저장된다.
글
[AS3] custom 이벤트의 기본적인 dispatchEvent 사용
(Event의 서브 클래스로 상속할 때는 clone() 메소드를 오버라이드할 필요가 있다.)
EventDispatcher 클래스의 dispatchEvent() 메소드를 사용하면 자동으로 이벤트의 dispatch가 생긴다. 예를 들면 Sprite는 EventDispatcher의 서브 클래스이기 때문에 다음과 같이 CustomEvent을 dispatch 할 수 있다.
그리고는 이벤트 처리를 호출하기 위해 이벤트 리스너를 등록하면 된다.
하지만 AS3에서는 다중 상속이 허용되지 않기 때문에 모든 클래스를 EventDispatcher의 서브 클래스로 만들 수 있는 것이 아니다. 상속하고 있는 클래스의 경우에는 IEventDispatcher 인터페이스를 사용한다. 클래스 내부에서 EventDispatcher의 인스턴스를 가져와서 처리를 Delegate하는 방법이다.
글
[AS3] Sprite의 마우스 이벤트
AS3에서 버튼을 작성하는 경우 우선은 SimpleButton의 사용을 생각할 수 있지만 간단하지 않은버튼 형태의 경우는 SimpleButton을 대신하여 Sprite를 사용할 수 있다. 그 경우 버튼으로서 사용하는 Sprite의 안에 다른 Sprite 오브젝트로서 배치하고 버튼 형태의 모션을 만드는 것도 있을 수 있다.
그렇지만 이 때 다음과 같은 문제가 발생할 수 있다. 버튼으로서 사용한 Sprite의 안에 있는 Sprite도 마우스 이벤트의 대상이 되는 것이다. 이로 인해서 버튼용의 Sprite가 아니라 그 안에 있는 Sprite가 이벤트의 타겟이 되어 버릴 수 있다.(AS3는 DisplayObject의 서브 클래스를 추가하면 의도하지 않아도 이벤트 플로우가 바뀌어 버린다.)
이러한 문제를 방지하려면 mouseEnabled 프롭퍼티를 false로 설정하면 가능하다. Sprite 하나하나에 임의로 설정하여 관리하는 것이 귀찮으면 버튼용 Sprite의 mouseChildren 프롭퍼티를 false로 하는 방법도 있다. 이렇게 하면 버튼용 Sprite의 안에 있는 오브젝트는 모두 이벤트 대상에서 제외된다.
buttonMode 프롭퍼티를 true로 설정하면 마우스가 Sprite의 위에 왔을 때 마우스의 모양을 자동적으로 손 모양으로 바꾸어 준다.(useHandCursor 프롭퍼티 쪽이 우선)
글
[AS3] SimpleButton 클래스
public upState : DisplayObject //
업 상태의 표시 오브젝트
public overState : DisplayObject // 오버 상태의 표시 오브젝트
public downState : DisplayObject // 다운 상태의 표시 오브젝트
public hitTestState : DisplayObject // 히트
테스트용 오브젝트
이상의 4개의 프롭퍼티에 대응하는 마우스 조작 상태로 의도된 표시를
표현한다. DisplayObject 를 설정하는 것이
SimpleButton의 기본적인 사용 방법이다.
public trackAsMenu : Boolean // 메뉴와 같은 사용법을 할 것인가
public enabled : Boolean // 버튼을
유효하게 할 것인가
public useHandCursor : Boolean // 커서의 모양을 핸드커서 형태로 것인가