마녀의 조건 OST - first love

Miscellaneous/Etc 2007. 7. 9. 04:23

마녀의 조건 OST -  first love 

원곡 보다 느낌을 더 잘 살린 듯 싶다. 활동하는 동호회에 들렸다가 느낌이 좋아서 올려 놓는다.
판도라TV 동영상이 익스플로러 이외의 타 브라우저에서는 실행이 되지 않는다. 코드를 보니 웹페이지에 값을 직접 붙여 전달하는 형식으로 코드 구성이 되어 있는 듯 싶은데 비교적 거대한 기업에서 타 브라우저 사용자들을 배려하지 않는 것은 문제가 있다.
    

설정

트랙백

댓글

Firefox에서 임시 인터넷 파일 저장 경로 사용자 설정방법

Miscellaneous/Etc 2007. 7. 8. 07:30
파이어폭스에서 임시로 인터넷 파일을 저장하는 경로를 임의로 변경하는 방법은 아래와 같다.

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 사용

Programming/ActionScript 3.0 2007. 7. 7. 23:05
Event 클래스를 확장하면 자신의 커스텀 이벤트 클래스를 정의할 수 있다. 예를 들면 아래와 같은 경우다.
















package{
import flash.events.Event;
public class CustomEvent extends Event{
public function CustomEvent(){
super("customEvent");
}
public override function clone():Event{
return new CustomEvent();
}
}
}

(Event의 서브 클래스로 상속할 때는 clone() 메소드를 오버라이드할 필요가 있다.)

EventDispatcher 클래스의 dispatchEvent() 메소드를 사용하면 자동으로 이벤트의 dispatch가 생긴다. 예를 들면 Sprite는 EventDispatcher의 서브 클래스이기 때문에 다음과 같이 CustomEvent을 dispatch 할 수 있다.
package{
import flash.display.Sprite;
public class CustomEventSprite extends Sprite{
public function dispatchCustomEvent():void{
dispatchEvent(new CustomEvent());
}
}
}

그리고는 이벤트 처리를 호출하기 위해 이벤트 리스너를 등록하면 된다.
package{
import flash.display.Sprite;
public class EventTest extends Sprite{
public function EventTest(){
var ceSprite:CustomEventSprite = new CustomEventSprite();
ceSprite.addEventListener("customEvent", onCustomEvent);
ceSprite.dispatchCustomEvent();
}
private function onCustomEvent(evt:CustomEvent):void{
trace("dispatch CustomEvent");
}
}
}

하지만 AS3에서는 다중 상속이 허용되지 않기 때문에 모든 클래스를 EventDispatcher의 서브 클래스로 만들 수 있는 것이 아니다. 상속하고 있는 클래스의 경우에는 IEventDispatcher 인터페이스를 사용한다. 클래스 내부에서 EventDispatcher의 인스턴스를 가져와서 처리를 Delegate하는 방법이다.

    

설정

트랙백

댓글

[AS3] Sprite의 마우스 이벤트

Programming/ActionScript 3.0 2007. 7. 6. 10:46
Sprite의 마우스 이벤트

AS3에서 버튼을 작성하는 경우 우선은 SimpleButton의 사용을 생각할 수 있지만 간단하지 않은버튼 형태의 경우는 SimpleButton을 대신하여 Sprite를 사용할 수 있다. 그 경우 버튼으로서 사용하는 Sprite의 안에 다른 Sprite 오브젝트로서 배치하고 버튼 형태의 모션을 만드는 것도 있을 수 있다.
그렇지만 이 때 다음과 같은 문제가 발생할 수 있다. 버튼으로서 사용한 Sprite의 안에 있는  Sprite도 마우스 이벤트의 대상이 되는 것이다. 이로 인해서 버튼용의 Sprite가 아니라 그 안에 있는 Sprite가 이벤트의 타겟이 되어 버릴 수 있다.(AS3는 DisplayObject의 서브 클래스를 추가하면 의도하지 않아도 이벤트 플로우가 바뀌어 버린다.)

이러한 문제를 방지하려면 mouseEnabled 프롭퍼티를 false로 설정하면 가능하다. Sprite 하나하나에 임의로 설정하여 관리하는 것이 귀찮으면 버튼용 Sprite의 mouseChildren 프롭퍼티를 false로 하는 방법도 있다. 이렇게 하면 버튼용 Sprite의 안에 있는 오브젝트는 모두 이벤트 대상에서 제외된다.

public mouseEnabled : Boolean  // 마우스 이벤트를 받을까
public mouseChildren : Boolean // 아이 오브젝트가 마우스 이벤트를 받을까
public buttonMode : Boolean // 버튼으로서 행동할까
public hitArea : Sprite // 마우스 이벤트의 대상이 되는 화면상의 영역
public useHandCursor : Boolean // 커서의 형상을 손의 형태로 할까

buttonMode 프롭퍼티를 true로 설정하면 마우스가 Sprite의 위에 왔을 때 마우스의 모양을 자동적으로 손 모양으로 바꾸어 준다.(useHandCursor 프롭퍼티 쪽이 우선)

    

설정

트랙백

댓글

[AS3] SimpleButton 클래스

Programming/ActionScript 3.0 2007. 7. 6. 10:15

SimpleButtonInteractiveObject의 서브 클래스로서 마우스의 조작에 따라 버튼처럼 행동할 수 있다. Flash authoring tool로 버튼 심볼을 작성하면 4개의 프레임이 생기는데 SimpleButton 에도 각각의 프레임에 대응하는 프롭퍼티가 존재한다.

 
public upState : DisplayObject        //
업 상태의 표시 오브젝트
public overState : DisplayObject      // 오버 상태의 표시 오브젝트
public downState : DisplayObject     // 다운 상태의 표시 오브젝트
public hitTestState : DisplayObject    // 히트 테스트용 오브젝트

 
이상의 4개의 프롭퍼티에 대응하는 마우스 조작 상태로 의도된 표시를 표현한다. DisplayObject 를 설정하는 것이 SimpleButton의 기본적인 사용 방법이다.

var myButton:SimpleButton = new SimpleButton();
addChild(myButton);

// 각 스테이트용의 오브젝트를 작성(하나의 Shape를 공유)
var stateShape:Shape = new Shape();
stateShape.graphics.lineStyle(2, 0x202020);
stateShape.graphics.beginFill(0xFF0000);
stateShape.graphics.drawRect(10, 10, 50, 50);

// 버튼 오브젝트의 프롭퍼티를 설정
myButton.upState = stateShape;
myButton.downState = stateShape;
myButton.overState = stateShape;
myButton.hitTestState = stateShape;

SimpleButton에는 위 4개의 상태 오브젝트 외에 아래와 같은 프롭퍼티가 있다.

 
public trackAsMenu : Boolean       //
메뉴와 같은 사용법을 할 것인가
public enabled : Boolean            // 버튼을 유효하게 할 것인가
public useHandCursor : Boolean     // 커서의 모양을 핸드커서 형태로 것인가

 
trackAsMenu
는 마우스를 눌렀다가 다른 장소에서 마우스를 놓았을 경우에서도 click 이벤트를 받고 싶은 경우에 사용한다. 보통 click 이벤트는 동일 오브젝트상에서 마우스를 클릭하는 행위를 하지 않으면 dispatch 되지 않지만 trackAsMenu true로 해 두면 다른 오브젝트상에서 마우스를 놓아도 적용된다. SimpleButton 오브젝트상에서 마우스를 놓았을 경우에도 그 SimpleButton 오브젝트에 click 이벤트가  dispatch된다. 메뉴를 만들 때 유용하다.

enabled 프롭퍼티는 버튼의 유효/ 무효를 선택할 수 있다. enabled false로 설정하면 실제 마우스를 조작해도 외형상은 반응하지 않는 것 처럼 보이지만 이벤트는 dispatch된다.

useHandCursor 프롭퍼티는 디폴트가 true. 보통은 특별히 신경 쓸 필요는 없을 것 같다.

    

설정

트랙백

댓글