<?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>세계의끝과 플래시 원더랜드 &#187; flashdevelop</title>
	<atom:link href="http://ufx.kr/blog/tag/flashdevelop/feed" rel="self" type="application/rss+xml" />
	<link>http://ufx.kr/blog</link>
	<description>Flash + ActionScript &#38; Design</description>
	<lastBuildDate>Fri, 27 Jan 2012 21:51:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>도큐먼트 클래스 *.as 파일을 연결하지 않은 fla 파일의 도큐먼트 클래스 이름은?</title>
		<link>http://ufx.kr/blog/393</link>
		<comments>http://ufx.kr/blog/393#comments</comments>
		<pubDate>Thu, 25 Feb 2010 04:24:33 +0000</pubDate>
		<dc:creator>세계의끝</dc:creator>
				<category><![CDATA[AS3.0 API]]></category>
		<category><![CDATA[addChild]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[ApplicationDomain]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[FD]]></category>
		<category><![CDATA[flashdevelop]]></category>
		<category><![CDATA[getChildByName]]></category>
		<category><![CDATA[getDefinitionByName]]></category>
		<category><![CDATA[getter]]></category>
		<category><![CDATA[Loader]]></category>
		<category><![CDATA[MainTimeline]]></category>
		<category><![CDATA[setter]]></category>
		<category><![CDATA[런타임]]></category>
		<category><![CDATA[무비클립]]></category>
		<category><![CDATA[클래스]]></category>
		<category><![CDATA[타임라인]]></category>

		<guid isPermaLink="false">http://ufx.kr/blog/?p=393</guid>
		<description><![CDATA[작년 7월에 작성한 &#8220;AS3.0 로더(Loader)로 불러온 다른 swf 의 클래스 사용하기&#8221; 를 보면, ApplicationDomain 클래스의 getDefinition() 메서드를 이용해서 다른 로더를 통해 가지고 온 다른 swf 파일의 클래스를 사용하는 방법을 알아본 바 있습니다. 그런데 이 포스트에 &#8220;료&#8221;님이, fla 파일의 타임라인에 직접 코딩한 경우에는 어떻게 해야 하느냐고 질문하셨길래 방법을 찾아 보았습니다. 우리가 Fla 에 도큐먼트 클래스를 연결해서 [...]]]></description>
			<content:encoded><![CDATA[<p>작년 7월에 작성한 <a href="http://ufx.kr/blog/281">&#8220;AS3.0 로더(Loader)로 불러온 다른 swf 의 클래스 사용하기&#8221;</a> 를 보면, ApplicationDomain 클래스의 getDefinition() 메서드를 이용해서 다른 로더를 통해 가지고 온 다른 swf 파일의 클래스를 사용하는 방법을 알아본 바 있습니다.<br />
그런데 이 포스트에 &#8220;료&#8221;님이, fla 파일의 타임라인에 직접 코딩한 경우에는 어떻게 해야 하느냐고 질문하셨길래 방법을 찾아 보았습니다.</p>
<p>우리가 Fla 에 도큐먼트 클래스를 연결해서 swf 를 만들었을 경우, Main.as 도큐먼트 클래스에서 trace( this ) 를 하면 [object Main] 이 출력 됩니다. <a href="http://ufx.kr/blog/281">&#8220;AS3.0 로더(Loader)로 불러온 다른 swf 의 클래스 사용하기&#8221;</a> 의 예제 코드를 보면 다른 swf 의 도큐먼트 클래스의 이름을 통해 런타임으로 클래스로 만들고 그것을 객체화 하여 도큐먼트 클래스 내부에 있는 여러가지 자원들을 참조하게 됩니다. 도큐먼트 클래스의 이름이 곧 ApplicationDomain 이 되는 것이죠. 그것은 결국 도큐먼트 클래스의 클래스 이름을 알 수 없다면 getDefinition() 으로는 참조가 불가능하다는 이야기가 됩니다.</p>
<p>그런데 만약 도큐먼트 클래스를 사용하지 않은 fla 파일로 만든 swf 파일이라면 어떻게 되는 걸까요? <a href="http://ufx.kr/blog/281/comment-page-1#comment-1089">&#8220;료&#8221;님의 질문</a>을 받고 저역시 이 부분에서 살짝 당황했습니다. 도큐먼트 클래스 as 파일이 없는데 도큐먼트 클래스의 이름을 어떻게 알아낼 수 있을까 하는 것이었죠.</p>
<p><span id="more-393"></span>그런데 결국 추론를 통해 도큐먼트 클래스의 이름을 알아냈습니다.<br />
라이브러리에 클래스 정의를 한 무비클립에도 물리적 as 파일을 연결하지 않으면, 컴파일 과정에서 자동으로 as 파일을 생성한다는것에 힌트를 얻었습니다.</p>
<div id="attachment_355" class="wp-caption aligncenter" style="width: 400px"><a href="http://ufx.kr/blog/wp-content/uploads/2009/12/making_class_alert.png"><img class="size-full wp-image-355" title="making_class_alert" src="http://ufx.kr/blog/wp-content/uploads/2009/12/making_class_alert.png" alt="" width="390" height="203" /></a><p class="wp-caption-text">라이브러리의 속성창에서 클래스 이름만 써 넣고 as 파일은 연결하지 않을때 나타나는 경고 다이알로그 박스</p></div>
<p>위의 다이알로그 박스의 메세지 내용인 즉슨, 클래스가 필요한 객체는 어떠한 형태로든 클래스 파일을 생성한다는 것이죠. 이와 마찬가지로 Flash IDE에서 도큐먼트 클래스 없이 컴파일을 하더라도 어딘가 가상으로 파일을 만들어 낼 거라는 생각이 들었습니다.</p>
<p>이때 빛을 발휘하는 프로그램이 바로 FlashDevelop(이하 FD) 이죠. FD 의 Project 패널은 as 파일과 디렉토리를 네비게이션 하는 1차적 용도를 가지고 있지만, 컴파일된 swf 파일이나 swc 파일의 구조를 분석할 수 있도록 기능도 가지고 있습니다.</p>
<div id="attachment_394" class="wp-caption aligncenter" style="width: 279px"><a href="http://ufx.kr/blog/wp-content/uploads/2010/02/fla_getDefinition_1.png"><img class="size-full wp-image-394" title="fla_getDefinition_1" src="http://ufx.kr/blog/wp-content/uploads/2010/02/fla_getDefinition_1.png" alt="" width="269" height="228" /></a><p class="wp-caption-text">FlashDevelop 의 Project 패널</p></div>
<p>FlaSubSystem.fla 은 도큐먼트 클래스가 없는 fla 파일 입니다. 이 파일로 FlaSubSystem.swf 파일을 컴파일 했습니다. 이 파일의 1프레임에는 간단한 무비클립과 코드 몇줄을 넣어놓았습니다.<br />
Main.as 파일은 FD에서 프로젝트를 생성할때 만든 도큐먼트 클래스 입니다. 이 도큐먼트 클래스로는 GetDefinition.swf 파일을 만들었죠.</p>
<p>그러니까 <a href="http://ufx.kr/blog/281">&#8220;AS3.0 로더(Loader)로 불러온 다른 swf 의 클래스 사용하기&#8221;</a> 의 내용과 매칭하자면 FlaSubSystem.swf 파일이 SubSystem.swf 이 되는 것입니다.</p>
<p>컴파일된 FlaSubSystem.swf 파일의 왼쪽에 있는 + 기호를 이용해 펼치면 swf 파일 내부에 정의되어 있는 클래스들을 모두 볼 수 있는데요, 보시는 바와 같이 <span style="color: #33cccc;">fla 의 파일명에 _fla 라는 문자가 붙고 점 찍은 후</span>에 MainTimeline 이 클래스 화 되어 있는것을 볼 수 있습니다. 1프레임에 코드를 넣게 되면 위와 같이 MainTimeline 이 클래스 화 되고, 프레임에 코드가 없으면 클래스가 생성되지 않습니다.</p>
<p>그러면 Main.as 파일의 코드를 살펴보겠습니다.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
</pre></td><td class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.display</span>.<span style="color: #004993;">DisplayObject</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.display</span>.<span style="color: #004993;">Loader</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.display</span>.<span style="color: #004993;">Sprite</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.events</span>.<span style="color: #004993;">Event</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.net</span>.<span style="color: #004993;">URLRequest</span>;
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.system</span>.<span style="color: #004993;">ApplicationDomain</span>; 
&nbsp;
	<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> Main extends <span style="color: #004993;">Sprite</span>
	<span style="color: #000000;">&#123;</span>
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">loader</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Loader</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Loader</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #6699cc; font-weight: bold;">var</span> request<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">URLRequest</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">URLRequest</span><span style="color: #000000;">&#40;</span> <span style="color: #990000;">&quot;FlaSubSystem.swf&quot;</span> <span style="color: #000000;">&#41;</span>;
&nbsp;
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> Main<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #004993;">loader</span>.<span style="color: #004993;">contentLoaderInfo</span>.<span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span> <span style="color: #004993;">Event</span>.<span style="color: #004993;">INIT</span>, completeHandler <span style="color: #000000;">&#41;</span>;
			<span style="color: #004993;">loader</span>.<span style="color: #004993;">load</span><span style="color: #000000;">&#40;</span> request <span style="color: #000000;">&#41;</span>;
			<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">this</span> <span style="color: #000000;">&#41;</span>
		<span style="color: #000000;">&#125;</span>
&nbsp;
		<span style="color: #0033ff; font-weight: bold;">private</span> <span style="color: #339966; font-weight: bold;">function</span> completeHandler<span style="color: #000000;">&#40;</span> e<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Event</span> <span style="color: #000000;">&#41;</span><span style="color: #000000; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
		<span style="color: #000000;">&#123;</span>
			<span style="color: #6699cc; font-weight: bold;">var</span> runtimeClassRef<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Class</span> = <span style="color: #004993;">loader</span>.<span style="color: #004993;">contentLoaderInfo</span>.<span style="color: #004993;">applicationDomain</span>.<span style="color: #004993;">getDefinition</span><span style="color: #000000;">&#40;</span> <span style="color: #990000;">&quot;FlaSubSystem_fla.MainTimeline&quot;</span> <span style="color: #000000;">&#41;</span> <span style="color: #0033ff; font-weight: bold;">as</span> <span style="color: #004993;">Class</span>;
			<span style="color: #6699cc; font-weight: bold;">var</span> displayObj<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">DisplayObject</span> = <span style="color: #0033ff; font-weight: bold;">new</span> runtimeClassRef<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>; <span style="color: #009900;">//addChild 하려면 DisplayObject 로 캐스팅</span>
			<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span> displayObj <span style="color: #000000;">&#41;</span>;
&nbsp;
			<span style="color: #6699cc; font-weight: bold;">var</span> subSystemObj<span style="color: #000000; font-weight: bold;">:</span><span style="color: #004993;">Object</span> = displayObj <span style="color: #0033ff; font-weight: bold;">as</span> <span style="color: #004993;">Object</span>; <span style="color: #009900;">//메서드를 호출하려면 다시 Object 로 캐스팅</span>
&nbsp;
			<span style="color: #009900;">// 아래의 member 들은 모두 fla 파일의 stage 또는 타임라인의 1프레임에 정의한 내용.</span>
			<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span> subSystemObj.myInstance <span style="color: #000000;">&#41;</span>; <span style="color: #009900;">// stage 에 인스턴스네임 부여한 무비클립 객체. 참조 가능 // 출력 : [object MovieClip]</span>
			<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span> subSystemObj.myString <span style="color: #000000;">&#41;</span>; <span style="color: #009900;">// 변수에는 접근안됨 // 출력 : null</span>
			<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span> subSystemObj.myGetter <span style="color: #000000;">&#41;</span>; <span style="color: #009900;">// getter/setter 메서드 접근 가능</span>
			<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span> subSystemObj.myFunction<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span>; <span style="color: #009900;">// 함수 접근 가능</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></td></tr></table></div>

<p>getDefinition() 메서드를 보면 fla 파일의 메인 타임라인 클래스에 접근하기 위해 FlaSubSystem_fla.MainTimeline 라는 문자열을 사용한것을 볼 수 있습니다. 이 ApplicationDomain 을 런타임 클래스 화 하고 객체로 만들어 내는 과정은 동일합니다.</p>
<p>각 요소들에 대한 참조 여부는 코드 내부의 주석에 적었으므로 그것으로 설명을 대신합니다.</p>
<p>타임라인 코드에 var 키워드를 이용해 생성한 변수에는 접근이 되지 않는데, 차후에 방법을 알게되면 추가하겠습니다. 그러나 getter/setter 가 가능하므로 굳이 필요하다면 변수 대신 사용할 수 있을것 같습니다.</p>
]]></content:encoded>
			<wfw:commentRss>http://ufx.kr/blog/393/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>FlashDevelop 에서 Ctrl + ENTER 로 컴파일 하는 방법</title>
		<link>http://ufx.kr/blog/257</link>
		<comments>http://ufx.kr/blog/257#comments</comments>
		<pubDate>Sun, 21 Jun 2009 07:41:25 +0000</pubDate>
		<dc:creator>세계의끝</dc:creator>
				<category><![CDATA[개발환경]]></category>
		<category><![CDATA[AS3 Project]]></category>
		<category><![CDATA[Control + Enter]]></category>
		<category><![CDATA[Ctrl + ENTER]]></category>
		<category><![CDATA[FD]]></category>
		<category><![CDATA[Flash IDE]]></category>
		<category><![CDATA[flashdevelop]]></category>
		<category><![CDATA[Flex SDK]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[Test Movie]]></category>
		<category><![CDATA[컨트롤 엔터]]></category>
		<category><![CDATA[컴파일]]></category>
		<category><![CDATA[컴파일러]]></category>
		<category><![CDATA[테스트무비]]></category>

		<guid isPermaLink="false">http://ufx.kr/blog/?p=257</guid>
		<description><![CDATA[우리가 가장 자주 이용하는 컴파일러는 Flash IDE[01]의 컴파일러죠. 컨트롤 + 엔터로 컴파일을 할 수 있다는건 플래시를 다루는 분이라면 누구나 알고 계실겁니다. 그러나 FlashDevelop (이하 FD) 는 자체 컴파일러를 가지고 있지 않기 때문에 외부 컴파일러를 이용해서 컴파일을 해야합니다. FD에서 Flash IDE 의 라이브러리 패널에서 무비클립, 버튼 등의 그래픽 자원을 사용하는 프로젝트의 경우에는 Flash IDE를 열어놓은 상태에서, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-226" title="fd_logo" src="http://ufx.kr/blog/wp-content/uploads/2009/06/fd_logo.png" alt="fd_logo" width="154" height="161" />우리가 가장 자주 이용하는 컴파일러는 Flash IDE<sup>[<a href="http://ufx.kr/blog/257#footnote_0_257" id="identifier_0_257" class="footnote-link footnote-identifier-link" title="흔히 Flash CS3, CS4 등으로 말하는 플래시 저작 환경(좁은 의미로는 플래시 프로그램)을 말합니다.">01</a>]</sup>의 컴파일러죠. 컨트롤 + 엔터로 컴파일을 할 수 있다는건 플래시를 다루는 분이라면 누구나 알고 계실겁니다.</p>
<p>그러나 FlashDevelop (이하 FD) 는 자체 컴파일러를 가지고 있지 않기 때문에 외부 컴파일러를 이용해서 컴파일을 해야합니다.</p>
<p>FD에서 Flash IDE 의 라이브러리 패널에서 무비클립, 버튼 등의 그래픽 자원을 사용하는 프로젝트의 경우에는 Flash IDE를 열어놓은 상태에서, FD 작업 중 펑션키 F6 을 누르면 Flash IDE로 창이 전환되면서 컴파일이 됩니다.</p>
<p>그런데 Flash IDE의 그래픽 자원을 사용할 필요가 없는 플래시 프로젝트라던가, 프로젝트의 로직 부분을 구성한다던가, 간단한 테스트 용으로 도큐먼트 클래스만 만들고 싶을 때는 Flash IDE 열고, AS3.0 새 문서 하나 만들고, 도큐먼트 클래스로 사용할 Main.as 을 속성 창에서 연결해주는 과정이 굉장히 불필요하게 느껴질 때가 많습니다. 실제로 준비 과정에 걸리는 시간도 많이 걸리게 되죠.</p>
<p><span id="more-257"></span>그래서 FD에서도 Flash IDE 에서처럼 컨트롤 엔터를 이용한 컴파일 방법을 제공 합니다. 단, 위에서도 먼저 써 드렸듯이 FD는 자체 컴파일러를 가지고 있지 않기 때문에, 외부 컴파일러를 설정하는 과정이 필요합니다.</p>
<p>외부 컴파일러로는 Flex SDK의 컴파일러를 사용합니다. Adobe Open Source 의 <a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3 " target="_blank">Flex 3 SDK Downloads 페이지</a>에서 다운로드 받을 수 있습니다.<br />
만약 Flex Builder 3이나 Flash Builder 4 를 사용중이라면 이미 해당 프로그램 폴더에 SDK 가 존재하므로 별도로 다운로드 받을 필요 없이 해당 SDK를 사용해도 됩니다.<br />
현재 Flex SDK Beta 4가 나와 있지만 아직은 Beta 이므로 3.3 버전을 컴파일러로 사용하겠습니다.</p>
<div id="attachment_250" class="wp-caption aligncenter" style="width: 523px"><img class="size-full wp-image-250" title="FD_compile1" src="http://ufx.kr/blog/wp-content/uploads/2009/06/FD_compile1.png" alt="FD_compile1" width="513" height="337" /><p class="wp-caption-text">http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3 페이지 내용 입니다.</p></div>
<p>SDK 용량이 어마어마 하죠? FD 본체와는 비교가 되질 않습니다.<sup>[<a href="http://ufx.kr/blog/257#footnote_1_257" id="identifier_1_257" class="footnote-link footnote-identifier-link" title="FD 인스톨 프로그램은 4MB도 안되는 아주 작은 크기 입니다.">02</a>]</sup></p>
<p>위의 화면에서 보는 것과 같이 가장 최근 버전의 Flex SDK의 Release Builds를 클릭하면 <a href="http://opensource.adobe.com/wiki/display/flexsdk/download?build=3.3.0.4852&amp;pkgtype=1" target="_blank">Adobe Flex SDK License Agreement 안내 페이지</a>가 나옵니다.</p>
<div id="attachment_251" class="wp-caption aligncenter" style="width: 590px"><img class="size-full wp-image-251" title="FD_compile2" src="http://ufx.kr/blog/wp-content/uploads/2009/06/FD_compile2.png" alt="Adobe Flex SDK License Agreement 페이지 입니다." width="580" height="230" /><p class="wp-caption-text">Adobe Flex SDK License Agreement 페이지 입니다.</p></div>
<p>가장 하단의 라이센스 동의 체크를 선택하면 다운로드를 할 수 있는 Download.Zip 링크(화면에서 제가 선택해 놓은 부분)가 나타납니다.</p>
<p>다운로드 받은 SDK 파일의 압축을 적당한 곳에 풀고 FD로 돌아와서 Tools &#8211;&gt; Program Settings (단축키 : F10) 를 열고,</p>
<p style="text-align: center;"><img class="size-full wp-image-252 aligncenter" title="FD_compile3" src="http://ufx.kr/blog/wp-content/uploads/2009/06/FD_compile3.png" alt="FD_compile3" width="318" height="292" /></p>
<p><img class="aligncenter size-full wp-image-253" title="FD_compile4" src="http://ufx.kr/blog/wp-content/uploads/2009/06/FD_compile4.png" alt="FD_compile4" width="582" height="428" />AS3Context 를 선택, 오른쪽 목록에서 (마우스 포인터로 가리키고 있는) 아랫부분의 Flex SDK Location 에서 위에서 압축을 풀어놓은 SDK의 경로를 찾아서 선택해주면 이제부터 Ctrl + ENTER 로 간단하게 컴파일을 할 수 있게 됩니다.</p>
<p>그리고 위에서 잠깐 언급했듯이 Flex Builder 3 이나 Flash Builder 4 를 사용하고 있다면, 위의 세팅 화면에서 해당 디렉토리의 SDK 폴더를 찾아 지정해주면 됩니다.</p>
<p>&#8230; &#8230;</p>
<p><span style="color: #008080;"><strong>그런데도 컴파일이 안되요 !!</strong></span></p>
<p>이렇게 했는데도 FD가 무반응인 경우는 project 가 없는 상태이겠죠. (아니면 유저불량이거나 !!)<br />
Flex Builder 3이나 Flash Builder 4도 마찬가지지만 FD 의 경우도 프로젝트를 만들지 않으면 컴파일을 할 수가 없습니다.</p>
<p>지금부터는 FD 를 포함한 외부 에디터를 처음 다뤄보는 분들을 위한 내용이므로 이 부분을 알고 계신 분들은 넘어가도 되겠습니다.</p>
<p>먼저 Project 메뉴에서 New Project 를 선택하여 아래의 대화상자를 띄웁니다.</p>
<p><img class="aligncenter size-full wp-image-254" title="FD_compile5" src="http://ufx.kr/blog/wp-content/uploads/2009/06/FD_compile5.png" alt="FD_compile5" width="543" height="470" /></p>
<p>가장 위에 있는 Flash IDE Project 를 선택하면 컨트롤 엔터를 눌렀을 경우 Flash IDE 가 실행되면서 Flash IDE의 컴파일러를 사용하게 됩니다. AS3 Project 에서 F6 펑션키를 눌렀을때와 동일한 결과를 볼 수 있죠.</p>
<p>두번째(세번째도 마찬가지)의 AS3 Project 은 FD의 액션스크립트 프로젝트 입니다. 컨트롤 엔터 단축키를 입력하면 Flex SDK 를 사용하여 컴파일을 하게 되고, Stand Alone (독립실행형) Flash Player 를 사용하여 컴파일된 swf 를 보게 됩니다. 액션스크립트 클래스의 단위별 테스트를 하면서 프로젝트를 진행한다면 AS3 Project 로 작업을 해야겠죠.</p>
<p>네번째 Flex 3 Project 도 마찬가지로 Flex SDK 컴파일러를 통해 독립실행형 플래시 플레이어로 결과를 얻게 됩니다. AS3 Project 와는 폴더 이름과 프로젝트파일 확장자를 제외하고 거의 동일한 환경이라고 생각하면 됩니다.</p>
<p>보통 저의 경우는 두번째 AS3 Project 로 프로젝트를 만들고, 필요에 따라 Flash IDE에서 컴파일을 할 필요가 있을 경우 F6을 누르고, FD 에서 컴파일 결과(주로 trace 결과인 경우가 많죠)만 확인하고 싶을 때는 컨트롤 엔터를 눌러 테스트 무비를 합니다.</p>
<p>이렇게 프로젝트를 생성한 이후에는 아래와 같이 Project &#8211;&gt; Properties 로 들어가<img class="aligncenter size-full wp-image-255" title="FD_compile6" src="http://ufx.kr/blog/wp-content/uploads/2009/06/FD_compile6.png" alt="FD_compile6" width="242" height="241" /></p>
<p><img class="aligncenter size-full wp-image-256" title="FD_compile7" src="http://ufx.kr/blog/wp-content/uploads/2009/06/FD_compile7.png" alt="FD_compile7" width="372" height="432" /></p>
<p>Properties 창에서는 Flash player 의 버전이나 테스트무비가 뜨는 방식 같은것을 설정해 줄 수 있습니다. 만약 플레이어 10에 추가된 Vector 클래스를 사용한 경우라면 그에 맞게 플레이어 버전을 조절해 줘야겠죠.</p>
<p>FD 는 여러모로 사용자에 대한 배려가 좋은 에디터 입니다. *.as 파일 하나 그냥 구경만 하자는데도 이것저것 물어보고 프로젝트를 생성하라고 하는 Flex 와는 다르죠. 자동 완성 기능이나 코드 힌트 같은 편의 기능은 Flex 보다 훨씬 성능이좋습니다. (게다가 무료!!)</p>
<p>FD 유저가 국내에도 많이 늘었으면 하는 바램을 가져봅니다.</p>
<p>ps) 얼마전에 <a href="http://www.flashdevelop.org/community/viewtopic.php?f=11&amp;t=4921&amp;start=0" target="_blank">FlashDevelop 3.0 RTM 버전이 릴리즈</a> 되었습니다.</p>
<ol class="footnotes"><li id="footnote_0_257" class="footnote">흔히 Flash CS3, CS4 등으로 말하는 플래시 저작 환경(좁은 의미로는 플래시 프로그램)을 말합니다.</li><li id="footnote_1_257" class="footnote">FD 인스톨 프로그램은 4MB도 안되는 아주 작은 크기 입니다.</li></ol>]]></content:encoded>
			<wfw:commentRss>http://ufx.kr/blog/257/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlashDelvelop 3.0.0 RC5 릴리즈</title>
		<link>http://ufx.kr/blog/227</link>
		<comments>http://ufx.kr/blog/227#comments</comments>
		<pubDate>Sat, 06 Jun 2009 17:33:47 +0000</pubDate>
		<dc:creator>세계의끝</dc:creator>
				<category><![CDATA[개발환경]]></category>
		<category><![CDATA[FD]]></category>
		<category><![CDATA[FD3]]></category>
		<category><![CDATA[flashdevelop]]></category>
		<category><![CDATA[RC5]]></category>
		<category><![CDATA[디벨롭]]></category>
		<category><![CDATA[릴리즈]]></category>
		<category><![CDATA[에디터]]></category>
		<category><![CDATA[플래시디벨롭]]></category>

		<guid isPermaLink="false">http://ufx.kr/blog/?p=227</guid>
		<description><![CDATA[지난 6월 1일에는 Flash Builder 4 와 Flash Catalyst 의 떠들석한 베타 릴리즈 발표에 묻혀버린 FlashDelvelop 3.0 RC5 릴리즈 소식도 있었습니다. 작년 크리스마스 시즌에 RC1 이 발표된 이후로 꾸준하게 RC 버전이 릴리즈 되고 있습니다. 최근들어 릴리즈 주기가 짧아진걸로 미루어 보아 3.0 정식 릴리즈도 머지 않은것 같네요. RC5 버전은 RC4 버전과 마찬가지로 큰 이슈는 없고, 버그픽스 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flashdevelop.org/community/viewtopic.php?f=11&amp;t=4856" target="_blank"><img class="size-medium wp-image-226 alignright" title="fd_logo" src="http://ufx.kr/blog/wp-content/uploads/2009/06/fd_logo.png" alt="fd_logo" width="154" height="161" /></a>지난 6월 1일에는 Flash Builder 4 와 Flash Catalyst 의 떠들석한 베타 릴리즈 발표에 묻혀버린 FlashDelvelop 3.0 RC5 릴리즈 소식도 있었습니다.</p>
<p>작년 크리스마스 시즌에 RC1 이 발표된 이후로 꾸준하게 RC 버전이 릴리즈 되고 있습니다. 최근들어 릴리즈 주기가 짧아진걸로 미루어 보아 3.0 정식 릴리즈도 머지 않은것 같네요.</p>
<p>RC5 버전은 RC4 버전과 마찬가지로 큰 이슈는 없고, 버그픽스 수준의 릴리즈 입니다.<br />
<span id="more-227"></span> 이전 버전에 대해 달라진 점은</p>
<ul>
<li>성능향상과 버그픽스</li>
<li>fold margin 색상을 사용자 지정할 수 있게 되었음</li>
<li>AS3 내장 클래스 파일 수정</li>
</ul>
<p>이 세가지 입니다.<br />
fold 기능은 코드 부분을 접는 기능이고, Program Settings 에서 설정할 수 있습니다.</p>
<p>앞으로 예정된 내용은 다음과 같습니다.</p>
<ul>
<li>몇개의 디버거들 중에서 한가지 완성 예정.</li>
<li>Implement class imports 인식과 패키지 리팩토링 지원</li>
<li>html / js 프로젝트를 추가, Jangaroo AS to JS 컴파일 연구</li>
<li>크로스 플랫폼 구현</li>
<li>MXML 제작 관련</li>
</ul>
<p>리팩토링 기능은 상당히 기대중입니다.</p>
<p>다운로드 페이지</p>
<p><a href="http://www.flashdevelop.org/community/viewtopic.php?f=11&amp;t=4856" target="_blank">http://www.flashdevelop.org/community/viewtopic.php?f=11&amp;t=4856</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ufx.kr/blog/227/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

