<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kimkijeung.com &#187; component</title>
	<atom:link href="http://kimkijeung.com/tag/component/feed/" rel="self" type="application/rss+xml" />
	<link>http://kimkijeung.com</link>
	<description>Interactive development,flash,Actionscript,Unity</description>
	<lastBuildDate>Sun, 24 Apr 2011 18:59:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>How to implement        User RectBorder</title>
		<link>http://kimkijeung.com/2007/01/21/how-to-implement-user-rectborder/</link>
		<comments>http://kimkijeung.com/2007/01/21/how-to-implement-user-rectborder/#comments</comments>
		<pubDate>Sat, 20 Jan 2007 20:14:34 +0000</pubDate>
		<dc:creator>vkimone</dc:creator>
				<category><![CDATA[Flash-AS2.0]]></category>
		<category><![CDATA[Flash-Tip]]></category>
		<category><![CDATA[AS2.0]]></category>
		<category><![CDATA[border style]]></category>
		<category><![CDATA[component]]></category>

		<guid isPermaLink="false">http://vkimone.inblog.kr/?p=382</guid>
		<description><![CDATA[플래시에서 제공되는 component 들은 종류에 비해 디자인적인 확장성에서 제약이 있기 때문에 많이 사용되지 않고 있다. 물론 나도 특별한 경우를 제외하고는 사용하지 않는 편이다. 나름대로 디자인에 큰 영향이 없다면 제공되는 기본 component 를 사용하지만 간혹가다 뜻하지 않는 문제점에 부딛히게 되면 여간 힘든게 아니다. 많이 사용해 보지 않는 문제점을 해결하는 것이 만만치 않다. 특히 기본 component 를 [...]]]></description>
			<content:encoded><![CDATA[<p>플래시에서 제공되는 component 들은 종류에 비해 디자인적인 확장성에서 제약이 있기 때문에 많이 사용되지 않고 있다. 물론 나도 특별한 경우를 제외하고는 사용하지 않는 편이다.<br />
나름대로 디자인에 큰 영향이 없다면 제공되는 기본 component 를 사용하지만 간혹가다 뜻하지 않는 문제점에 부딛히게 되면 여간 힘든게 아니다. 많이 사용해 보지 않는 문제점을 해결하는 것이 만만치 않다. 특히 기본 component 를 사용할때 가장 문제가 되는것이 바로 border 처리 문제일것이다.<br />
halo theme 에서 제공되는 border를 쓰자니 디자인에 걸릴때가 참 많이 발생하게 된다.<br />
물론 theme 파일을 수정하여 요소들을 수정할 수 있지만 여간 손이 많이 가는게 아닐 뿐더러 자칫하면 내장 클래스를 건드리게 되어 플래시 전체의 component 의 UI 가 뜻하지 않게 될수도 있다.</p>
<p>이런 저런 문제로 그동안 사용을 극도로 꺼려했지만 이번에 러퍼런스를 보고 가장 손쉽게 border 를 사용자가 맞게 구성하는 방법을 찾아내어 소개해 본다.</p>
<p>기본적인 방법은 내장 component 에서 사용하는  RectBorder 을 편집하여 사용자가 만든 border 를 사용할 수 있게 하는 것이다.</p>
<p>1. 플래시가 설치되어 있는 폴더에서 Class/mx/skins 폴더에 사용자 정의 테두리에 사용할 사용자 정의 패키지 이름으로 새 폴더를 만든다.<br />
ex: C:\Program Files\Macromedia\Flash 8\en\First Run\Classes\mx\skins<br />
2. 이폴더에 RectBorder.as 이름으로 사용자 정의 클래스를 만든다.<br />
3.다음 코드를 삽입한다.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">core</span>.<span style="color: #006600;">ext</span>.<span style="color: #006600;">UIObjectExtensions</span>;
<span style="color: #000000; font-weight: bold;">class</span> mx.<span style="color: #006600;">skins</span>.<span style="color: #006600;">myTheme</span>.<span style="color: #006600;">RectBorder</span> <span style="color: #0066CC;">extends</span> mx.<span style="color: #006600;">skins</span>.<span style="color: #006600;">RectBorder</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> symbolName:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;RectBorder&quot;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> symbolOwner:<span style="color: #0066CC;">Object</span> = RectBorder;
<span style="color: #000000; font-weight: bold;">var</span> className:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;RectBorder&quot;</span>;
<span style="color: #808080; font-style: italic;">#include &quot;../../core/ComponentVersion.as&quot;</span>
<span style="color: #808080; font-style: italic;">// All of these borders have the same size edges, 1 pixel.</span>
<span style="color: #000000; font-weight: bold;">var</span> offset:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">4</span>;
<span style="color: #000000; font-weight: bold;">function</span> init<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Void</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #0066CC;">super</span>.<span style="color: #006600;">init</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #000000; font-weight: bold;">function</span> drawBorder<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Void</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #808080; font-style: italic;">// The graphics are on the symbol's timeline,</span>
<span style="color: #808080; font-style: italic;">// so all you need to do here is size the border.</span>
<span style="color: #0066CC;">_width</span> = __width;
<span style="color: #0066CC;">_height</span> = __height;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #808080; font-style: italic;">// Register the class as the RectBorder for all components to use.</span>
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">function</span> classConstruct<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Boolean</span> <span style="color: #66cc66;">&#123;</span>
UIObjectExtensions.<span style="color: #006600;">Extensions</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">_global</span>.<span style="color: #006600;">styles</span>.<span style="color: #006600;">rectBorderClass</span> = RectBorder;
<span style="color: #000000; font-weight: bold;">_global</span>.<span style="color: #006600;">skinRegistry</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;RectBorder&quot;</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #000000; font-weight: bold;">true</span>;
<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">true</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> classConstructed:<span style="color: #0066CC;">Boolean</span> = classConstruct<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> UIObjectExtensionsDependency = UIObjectExtensions;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>위코드는 사용자 정의 Symbol 을 사용하여 사용자가 정의한  RectBorder을 사용하여 border를 설정하는 것이다.</p>
<p>4. 새로운 Symbol 을 생성한 후  linkage property 에서 아래와 같이 설정한다.<br />
<strong>Identifier</strong> :  RectBorder<br />
<strong>As 2.0 Class</strong> : mx.skins.myTheme.RectBorder</p>
<p>5. 조금전에 생성한 RectBorder symbol 을 편집해 원하는 border 를 그린다.<br />
단지 좌표값을 0,0 에 맞추어 속이 빈 사각형 박스를 그리기만 하면 된다.</p>
<p>6. RectBorder를 사용하는 여러 component 요소를 스테이지로 드래그합니다.<br />
예를 들어 List, TextArea 및 TextInput component<br />
7. export movie 를 통해 확인해 보면 자신이 만든 border 사용하여 그려진 것을 볼 수 있다.</p>
<p>이런 방법을 사용하면 전체적으로  borderStyle 에 영향받지 않고 자신이 원하는 border 를 구성할 수 있을 것이다.</p>
]]></content:encoded>
			<wfw:commentRss>http://kimkijeung.com/2007/01/21/how-to-implement-user-rectborder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

