작업이 아닐수 없습니다. 그래서 Flash 기반의 쓸만한 tooltip 을 소개해 봅니다.
ToolTip.as
static 메소드로 이루어져 있는 하나의 툴팁 클래스로 스테이지나 오브젝트에 생성되는 모든 tooltip 들을 관리 합니다. 사용법은 간단합니다. 우선 사용 예제 부터 보시면 아래와 같습니다. 해당 target 에 대한 MouseEvent.MOUSE_OVER 만으로 이벤트를 처리 하게 됩니다.
Out 이벤트를 따로 처리할 필요가 없이 단지 Over 이벤트만 처리 하면 됩니다.
사용시 두단계를 거쳐야 합니다. 우선 첨부한 ToolTip.as 파일을 import 한 후에,
Tooltip 설명을 사용할 target 에 이벤트 리스너를 추가 합니다. ( tc_mc 를 target 으로 정했습니다.)
-
import src.util.ToolTip;
-
var toolTipAlign:String = "center";
-
var toolTipAlpha:Number = .85;
-
var toolTipDelay:int = 200;
-
-
-
tp_mc.addEventListener(MouseEvent.MOUSE_OVER, Overhandler);
-
ToolTip.init(stage,{text_align:toolTipAlign, opacity:toolTipAlpha, default_delay:toolTipDelay}); // Tooltip 초기화
-
ToolTip.attach(evt.target, "");
-
function Overhandler(evt:MouseEvent):void
- {
- ToolTip.init(stage,{text_align:toolTipAlign, opacity:toolTipAlpha,
default_delay:toolTipDelay});
-
ToolTip.attach(evt.target, "this is a sample");
-
-
}
1. ToolTip.init(툴팁의부모:stage,{text_align: 정렬값 , opacity:알바값, default_deday:툴팁이나타나는시간});
툴집을 위한 초기 값을 설정 합니다. 툴팁의 부모에는 툴집을 어디에 속하게 할 것인지 정하고(stage:Stage) 를 주로 사용합니다.
2. ToolTip.attach(툴팁을적용시킬target(tp_mc) ,"툴팁 설명" );
더 유동적으로 사용하고 싶은 분들은 소스를 훑어 보시면 될것 같습니다. 그리고 툴팁이 표시 되는 네모 상자가 마음에 안든다 하시는
분들도 reset_bg 메소드에서 그리고 있는 bg:Shape 를 자신이 라이브러리에서 만든 무비클립으로 Linkage 시켜 주던가,
graphics 클래스를 이용해서 좀 더 이쁘게 꾸밀수 있습니다.
테스트를 해 보니 몇가지 버그가 있어서 수정 합니다. 초기에 Mouse Over 했을때 Tooltip 이 발생안하는 것은 Tooltip 자체가 초기화가 안되어 있어서 (오브젝트를 Tooltip 으로 넘기고 바로 addEventListener 로 이벤트들을 걸어 주기 때문에 이벤트 발생 순서 상에 문제가 발생하게 됩니다. 그래서 강제로 초기화를 해 줘야 하는데 방법은 간단합니다.
위와 같이 Over 이벤트를 밖에 초기화 코드를 입력해 주시면 됩니다.
'Flash platform' 카테고리의 다른 글
Flash / Flex 로 만든건 느리다? (2) | 2009.09.08 |
---|---|
런타임에서 Flash graphics 을 이미지로 만들기 (0) | 2008.12.11 |
Flashbug : Actionscript3.0 debugger using Firebug (0) | 2008.12.11 |