<?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>Mjwon&#039;s Blog</title>
	<atom:link href="http://mjwon.com/wp/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://mjwon.com/wp</link>
	<description></description>
	<lastBuildDate>Fri, 22 Jan 2010 02:55:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Erik Natzke 의 드로잉 코드</title>
		<link>http://mjwon.com/wp/?p=25</link>
		<comments>http://mjwon.com/wp/?p=25#comments</comments>
		<pubDate>Wed, 13 Jan 2010 02:34:38 +0000</pubDate>
		<dc:creator>mjwon</dc:creator>
				<category><![CDATA[Artist Works]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[drawing]]></category>
		<category><![CDATA[Erik Natzke]]></category>
		<category><![CDATA[jot.eriknatzke.com]]></category>
		<category><![CDATA[Natzke]]></category>

		<guid isPermaLink="false">http://mjwon.com/wp/?p=25</guid>
		<description><![CDATA[var Ball:Sprite = new Sprite();
Ball.graphics.beginFill( 0&#215;333333, 1 );
Ball.graphics.drawCircle( 0, 0, 30 );
Ball.graphics.endFill();
addChild( Ball );
var div:Number = .1;
var ax:Number = 0;
var ay:Number = 0;
function loop()
{
 Ball.x -= ax = (ax + (Ball.x &#8211; mouseX)*div)*.9;
 Ball.y -= ay = (ay + (Ball.y &#8211; mouseY)*div)*.9;
           
 this.graphics.lineStyle( Math.random()*10, Math.random()*0xFFFFFF, 1 );
 this.graphics.lineTo( Ball.x, Ball.y );
}
setInterval( loop, 1000/30 );
//출처 =&#62; http://jot.eriknatzke.com/?p=217&#38;cpage=1#comment-158717
]]></description>
			<content:encoded><![CDATA[<p>var Ball:Sprite = new Sprite();</p>
<p>Ball.graphics.beginFill( 0&#215;333333, 1 );<br />
Ball.graphics.drawCircle( 0, 0, 30 );<br />
Ball.graphics.endFill();<br />
addChild( Ball );</p>
<p>var div:Number = .1;</p>
<p>var ax:Number = 0;<br />
var ay:Number = 0;</p>
<p>function loop()<br />
{<br />
 Ball.x -= ax = (ax + (Ball.x &#8211; mouseX)*div)*.9;<br />
 Ball.y -= ay = (ay + (Ball.y &#8211; mouseY)*div)*.9;<br />
           <br />
 this.graphics.lineStyle( Math.random()*10, Math.random()*0xFFFFFF, 1 );<br />
 this.graphics.lineTo( Ball.x, Ball.y );<br />
}</p>
<p>setInterval( loop, 1000/30 );</p>
<p>//출처 =&gt; <a href="http://jot.eriknatzke.com/?p=217&amp;cpage=1#comment-158717">http://jot.eriknatzke.com/?p=217&amp;cpage=1#comment-158717</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mjwon.com/wp/?feed=rss2&amp;p=25</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>1.7</title>
		<link>http://mjwon.com/wp/?p=19</link>
		<comments>http://mjwon.com/wp/?p=19#comments</comments>
		<pubDate>Wed, 23 Dec 2009 16:18:13 +0000</pubDate>
		<dc:creator>mjwon</dc:creator>
				<category><![CDATA[1장 - 핵심 개념]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[패키지]]></category>

		<guid isPermaLink="false">http://mjwon.com/wp/?p=19</guid>
		<description><![CDATA[패키지
패키지는 클래스 집단을 개념적으로 분리시켜 주는 컨테이너다. 패키지에는 클래스뿐 아니라 프로그램의 다른 요소들도 들어갈 수 있다. 각 패키지는 프로그램에서 서로 독립적인 물리적 영역을 지정하고, 이와 함께 패키지명이라는 해당 영역에 대한 이름을 부여한다. 일반적으로 클래스명은 첫 글자를 대문자로 시작하는 반면, 패키지명은 첫 글자를 소문자로 시작한다. 이러한 관행은 패키지명과 클래스명을 구분하기 쉽게 해준다.
클래스의 소스 코드가 패키지 내에 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>패키지</strong></p>
<p>패키지는 클래스 집단을 개념적으로 분리시켜 주는 컨테이너다. 패키지에는 클래스뿐 아니라 프로그램의 다른 요소들도 들어갈 수 있다. 각 패키지는 프로그램에서 서로 독립적인 물리적 영역을 지정하고, 이와 함께 패키지명이라는 해당 영역에 대한 이름을 부여한다. 일반적으로 클래스명은 첫 글자를 대문자로 시작하는 반면, 패키지명은 첫 글자를 소문자로 시작한다. 이러한 관행은 패키지명과 클래스명을 구분하기 쉽게 해준다.</p>
<p>클래스의 소스 코드가 패키지 내에 있으면, 이 클래스는 마치 자식이 부모의 성을 물려받듯이, 패키지명을 자신의 이름 중 일부로 물려받는다. 예를 들어, Player 클래스가 game 패키지에 있다면, 이 클래스의 이름은 game.Player가 된다. 이때 패키지명이 먼저 나오고 이어서 클래스명이 나오는데 둘 사이가 마침표( . )캐릭터로 분리되어 있음을 볼 수 있다( 캐릭터란 글자, 숫자, 구두점 등을 뜻하는 프로그래밍 용어일 뿐이다). 패키지명은 game.Player 클래스가 Player라는 이름의 다른 클래스와 구분되게 해 줌으로써, 프로그램에 사용된 커스텀 클래스와 액션스크립트의 내장 클래스 사이에서 클래스명이 충돌하는 것을 막아준다.</p>
<p>패키지 정의문의 일반적인 형태는 다음과 같다.</p>
<p style="padding-left: 30px;">package packageName {<br />
}</p>
<p>어도비의 액션스크립트 컴파일러에서는 소스 파일이 패키지 내에 클래스( 또는 다른 정의)를 포함할 경우, 해당 파일의 폴더 경로가 패키지명과 일치하도록 규정하고 있다.</p>
]]></content:encoded>
			<wfw:commentRss>http://mjwon.com/wp/?feed=rss2&amp;p=19</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1.6</title>
		<link>http://mjwon.com/wp/?p=17</link>
		<comments>http://mjwon.com/wp/?p=17#comments</comments>
		<pubDate>Wed, 23 Dec 2009 15:57:41 +0000</pubDate>
		<dc:creator>mjwon</dc:creator>
				<category><![CDATA[1장 - 핵심 개념]]></category>
		<category><![CDATA[.as]]></category>
		<category><![CDATA[Main.as]]></category>
		<category><![CDATA[메인클래스]]></category>
		<category><![CDATA[클래스]]></category>

		<guid isPermaLink="false">http://mjwon.com/wp/?p=17</guid>
		<description><![CDATA[프로그램 생성하기
보통 새로운 액션스크립트 프로그램 개발은 설계 단계부터 거치게 되는데, 이 단계에서, 개발할 프로그램의 기능이 논리적인 클래스 단위로 잘게 쪼개진다. 각 클래스에는 클래스 이름과 기능, 전체 프로그램에서의 역할이 주어진다. 그 중 하나의 클래스는 특별히 메인 클래스로 분류되는데, 메인 클래스란 해당 어플리케이션의 시작점을 제공하는 클래스를 말한다. 새로운 프로그램을 실행시킬 때, 플래시 런타임은 자동으로 해당 프로그램 안에 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>프로그램 생성하기</strong></p>
<p>보통 새로운 액션스크립트 프로그램 개발은 설계 단계부터 거치게 되는데, <em>이 단계에서, 개발할 프로그램의 기능이 논리적인 클래스 단위로 잘게 쪼개진다.</em> 각 클래스에는 <span style="color: #3366ff;">클래스 이름과 기능, 전체 프로그램에서의 역할</span>이 주어진다. <span style="color: #ff0000;">그 중 하나의 클래스는 특별히 메인 클래스로 분류</span>되는데, <span style="color: #ff0000;">메인 클래스란 해당 어플리케이션의 시작점을 제공하는 클래스</span>를 말한다. 새로운 프로그램을 실행시킬 때, 플래시 런타임은 자동으로 해당 프로그램 안에 있는 메인 클래스의 인스턴스를 생성한다.</p>
<p>모든 프로그램의 메인 클래스 코드는 메인 클래스와 이름이 같은 텍스트 파일에 저장되어야 하며, 확장자는 .as 형태여야 한다. 파일명은 클래스명과 정확히 일치한다는 점과 이름에서 대소문자를 구분한다는 점을 주의해야 한다.</p>
<p>또 잠재적인 문제점이 하나 있다. 만일 선택한 메인 클래스가 액션스크립트의 내장 클래스 중 하나와 이름이 충돌한다면 ( 즉, 두 클래스이 이름이 서로 같다면 ), 액션스크립트에서는 이 클래스를 생성하도록 허락하지 않기 때문에, 우리가 만들 프로그램은 시작조차 할 수 없다. 이와 같이 혹시 있을 수 있는 중복되는 클래스명의 사용으로 인한 충돌을 막으려면 패키지를 사용해야 한다.</p>
]]></content:encoded>
			<wfw:commentRss>http://mjwon.com/wp/?feed=rss2&amp;p=17</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1.5</title>
		<link>http://mjwon.com/wp/?p=12</link>
		<comments>http://mjwon.com/wp/?p=12#comments</comments>
		<pubDate>Wed, 23 Dec 2009 15:24:32 +0000</pubDate>
		<dc:creator>mjwon</dc:creator>
				<category><![CDATA[1장 - 핵심 개념]]></category>
		<category><![CDATA[object-oriented programming]]></category>
		<category><![CDATA[OOP]]></category>
		<category><![CDATA[객체]]></category>
		<category><![CDATA[객체 지향 프로그래밍]]></category>
		<category><![CDATA[객체지향]]></category>
		<category><![CDATA[클래스]]></category>

		<guid isPermaLink="false">http://mjwon.com/wp/?p=12</guid>
		<description><![CDATA[클래스와 객체
액션스크립트 프로그램은 여러 개의 클래스를 바탕으로 생성된 상호 작동하는 객체들의 집합이라고 할 수 있다. 액션스크립트 객체는 프로그램 내에서 눈에 보이는 것과 보이지 않는 것을 모두 표현할 수도 있고, 유저 인터페이스 상의 클릭이 가능한 버튼, 달력 내에서의 어느 한 시점, 이미지의 블러 효과 등도 표현할 수도 있다. 객체란 클래스가 구체화된 형태로, 클래스의 인스턴스를 말한다. 그리고 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>클래스와 객체</strong></p>
<p>액션스크립트 프로그램은 여러 개의 클래스를 바탕으로 생성된 상호 작동하는 객체들의 집합이라고 할 수 있다. 액션스크립트 객체는 프로그램 내에서 눈에 보이는 것과 보이지 않는 것을 모두 표현할 수도 있고, 유저 인터페이스 상의 클릭이 가능한 버튼, 달력 내에서의 어느 한 시점, 이미지의 블러 효과 등도 표현할 수도 있다. <span style="color: #ff0000;">객체란 클래스가 구체화된 형태로, 클래스의 인스턴스를 말한다. 그리고 클래스란 객체의 바탕이 되는 설계 도면을 의미한다.</span></p>
<p><span style="color: #000000;">새로운 프로그램을 작성할 때 제일 먼저 할 일은 클래스를 정하는 일이다. <span style="color: #ff0000;">클래스는 코드상에서 특정 타입의 객체에 대한 성격과 행동을 정의하는 역할을 한다.</span></span></p>
<p><span style="color: #000000;">프로그램의 클래스를 사용해 우리는 객체를 만들고 (또는 인스턴스를 생성하고) 해당 객체가 할 일을 정할 수 있다. 또한 이와 같이 객체가 하는 일에 따라 프로그램의 특징이 결정된다.</span></p>
<address><span style="color: #3366ff;">클래스와 객체를 바탕으로 프로그램을 개발하는 것을 객체 지향 프로그래밍( object-oriented programming, OOP )이라고 한다.</span></address>
]]></content:encoded>
			<wfw:commentRss>http://mjwon.com/wp/?feed=rss2&amp;p=12</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1.3/1.3.1</title>
		<link>http://mjwon.com/wp/?p=9</link>
		<comments>http://mjwon.com/wp/?p=9#comments</comments>
		<pubDate>Sun, 20 Dec 2009 09:17:02 +0000</pubDate>
		<dc:creator>mjwon</dc:creator>
				<category><![CDATA[1장 - 핵심 개념]]></category>
		<category><![CDATA[ActionScript3.0]]></category>

		<guid isPermaLink="false">http://mjwon.com/wp/?p=9</guid>
		<description><![CDATA[1.3 컴파일링
액션스크립트 프로그램이 플래시 런타임에서 실행되려면 액션스크립트 프로그램은 먼저 사람이 읽을 수 있는 액션스크립트 3.0코드에서 플래시 런타임이 이해할 수 있는 바이너리 포맷으로 변환되어야 한다. 이러한 바이너리 포맷을 액션스크립트 바이트코드( ActionScript Bytecode ) 또는 약어로 ABC라고 부른다.하지만 이 형태로 플래시 런타임에서 실행될 수 있는게 아니다. 액션스크립트 바이트 코드가 SWF 파일 형태의 바이너리 컨테이너 파일에 담겨진 형태로 실행되기 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>1.3 컴파일링</strong></p>
<p>액션스크립트 프로그램이 플래시 런타임에서 실행되려면 액션스크립트 프로그램은 먼저 사람이 읽을 수 있는 액션스크립트 3.0코드에서 플래시 런타임이 이해할 수 있는 바이너리 포맷으로 변환되어야 한다. 이러한 바이너리 포맷을 액션스크립트 바이트코드( ActionScript Bytecode ) 또는 약어로 ABC라고 부른다.하지만 이 형태로 플래시 런타임에서 실행될 수 있는게 아니다. 액션스크립트 바이트 코드가 SWF 파일 형태의 바이너리 컨테이너 파일에 담겨진 형태로 실행되기 때문이다.</p>
<p>액션스크립트3.0 프로그램과 SWF 파일을 컴파일하려면 컴파일러라는 소프트웨어 모듈을 사용해야 한다. 액션스크립트 코드를 컴파일하는 컴파일러를 액션스크립트 컴파일러라고 부른다. 아울러 SWF 파일을 생성하는 컴파일러는 SWF 컴파일러라고 한다. 플래시 파일 포맷을 완벽히 지원하는 swf 컴파일러는 모두 액션스크립트 컴파일러를 포함하고 있다.</p>
<p>플렉스 빌더 2와 플래시 저작 도구의 액션스크립트 컴파일러는 동일하지만, <strong>플렉스 컴파일러와 플래시 컴파일러는 서로 다른 SWF 컴파일러를 사용한다.</strong></p>
<p><strong> </strong></p>
<p><strong>1.3.1 JIT( Just-In-Time) 컴파일링<br />
</strong>액션스크립트 프로그램이 실행되면 플래시 런타임은 컴파일된 액션스크립트 바이트코드를 읽고, 이를 프로그램이 실행되고 있는 특정 컴퓨터 하드웨어가 실행할 수 있는 네이티브 코드 명령으로 변환한다. 이러한 네이티브 코드명령은 바이트코드를 다시 변환하는 과정을 피하기 위해 저장된 후 재사용된다.<br />
액션스크립트 3.0코드를 바이트코드로 변환하는 과정을 컴파일링이라고 부르듯이, 바이트코드를 네이티브 코드로 변환하고 추후 실행시 활용키 위해 저장하는 과정도 컴파일링이라고 한다.<br />
액션스크립트 코드는 두 단계의 컴파일을 거친다.<br />
    1. 개발자가, 사람이 읽을 수 있는 형태의 코드를 플래시 런타임이 해석할 수 있는 형태로 컴파일한다.<br />
    2. 플래시 런타임이 액션스크립트의 바이트코드를, 프로그램을 실행하는 하드웨어가 이해할 수 있는 형태( 네이티브 코드 )로 자동으로 변환하게 된다.<br />
2번의 컴파일링 과정( 바이트코드에서 기계로 )은 JIT( Just-In-Time ) 컴파일링이라고 부르는데, 이렇게 부르는 이유는 프로그램에서 해당 바이트코드를 필요로 할 때마다 컴파일링이 이루어 지기 때문이다.</p>
]]></content:encoded>
			<wfw:commentRss>http://mjwon.com/wp/?feed=rss2&amp;p=9</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1.1/1.2</title>
		<link>http://mjwon.com/wp/?p=5</link>
		<comments>http://mjwon.com/wp/?p=5#comments</comments>
		<pubDate>Sun, 20 Dec 2009 08:22:14 +0000</pubDate>
		<dc:creator>mjwon</dc:creator>
				<category><![CDATA[1장 - 핵심 개념]]></category>
		<category><![CDATA[ActionScript3.0]]></category>

		<guid isPermaLink="false">http://mjwon.com/wp/?p=5</guid>
		<description><![CDATA[1.1 액션스트립트 코드를 작성할 때 사용할 도구
- 메모장같은 간단한 편집기를 통해서도 가능
- 대부분 어도비가 제공하는 플렉스 빌더나 플래시 저작 도구 중( 혹은 둘 모두 )를 사용해 작성
- 액션스크립트 3.0은 플렉스 빌더 2.0이상의 버젼과 플래시CS3 이상의 버젼에서 사용 가능하다
1.2 플래시 클라이언트 런타임 환경
- 액션스크립트 프로그램은 세 가지 서로 다른 소프트웨어 어플리케이션( 모두 어도비에서 제공한다 )에서 실행할 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>1.1 액션스트립트 코드를 작성할 때 사용할 도구<br />
</strong>- 메모장같은 간단한 편집기를 통해서도 가능<br />
- 대부분 어도비가 제공하는 플렉스 빌더나 플래시 저작 도구 중( 혹은 둘 모두 )를 사용해 작성<br />
- 액션스크립트 3.0은 플렉스 빌더 2.0이상의 버젼과 플래시CS3 이상의 버젼에서 사용 가능하다</p>
<p><strong>1.2 플래시 클라이언트 런타임 환경<br />
</strong>- 액션스크립트 프로그램은 세 가지 서로 다른 소프트웨어 어플리케이션( 모두 어도비에서 제공한다 )에서 실행할 수 있다. 이들 세 어플리케이션은 다름 아닌 플래시 플레이어와 어도비 AIR 그리고 플래시 라이트( Flash Lite )이다.<br />
- 플래시 플레이어는 웹 브라우저 또는 데스크탑 컴퓨터의 독립 실행( standalone )모드에서 액션스크립트 프로그램을 실행시킨다. 플래시 플레이어는 운영 체제에 접근할 수 있는 권한이 거의 없다.( 예를 들어 , 파일을 제어하거나 창을 제어할 수 없고 대부분의 하드웨어에 대한 접근 권한도 없다.)<br />
- 어도비 AIR는 데스크톱 환경에서 액션스크립트 프로그램을 실행시킨다. 따라서 데스크탑 운영 체제와 완벽히 연동할 수 있다( 예를 들어, 파일이나 창을 제어할수 있고 하드웨어에도 접근할 수 있다).<br />
-플래시 라이트는 휴대 전화와 같은 모바일 기기에서 액션스크립트 프로그램을 실행시킨다. Essential ActionScript3.0 이 집필된 시점에 플래시 라이트는 액션스크립트 2.0으로 작성된 액션스크립트 코드만을 실행할 수 있고, 액션 스크립트 3.0은 아직 지원하지 않는다. 따라서 이 책에서 다루는 기술들은 플래시 플레이어와 어도비 AIR에만 적용되며, 플래시 라이트가 액션스크립트 3.0을 지원하기 전까지는 플래시 라이트에 적용되지 않는다.</p>
<p>- 일반적으로 플래시 플레이어, 어도비 AIR, 플래시 라이트는 모두 플래시 클라이언트 런타임 환경( 줄여서 플래시 런타임 )이라고 부른다. 그 이유는 이들 환경에서 액션 스크립트 프로그램이 처리되고 &#8216;실행&#8217;되기 때문이다.</p>
<p>- 액션스크립트 가상 머신이라는 용어는 가끔씩 플래시 클라이언트 런타임 환경과 동의어로 해석되기도 한다. 하지만 이 두 용어사이에는 차이가 있기 때문에 서로 구분해서 사용해야 한다. 액션스크립트 가상 머신( AVM, ActionScript Virtual Machine )은 엄밀히 말해, 액션스크립트 프로그램을 실행하기 위해 플래시 플레이어, 어도비 AIR, 플래시 라이트 안에 들어있는 소프트웨어 모듈을 말한다.<br />
- 액션스크립트 3.0코드를 실행하는 데 사용되는 액션스크립트 가상 머신은 AVM2라고 부른다. 이와 구별해 액션스크립트 1.0이나 액션스크립트 2.0코드를 실행하는 액션스크립트 가상 머신의 버젼은 AVM1이다( 이 책에선 다루지 않는다).</p>
]]></content:encoded>
			<wfw:commentRss>http://mjwon.com/wp/?feed=rss2&amp;p=5</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Essential ActionScript3.0을 샀다~</title>
		<link>http://mjwon.com/wp/?p=3</link>
		<comments>http://mjwon.com/wp/?p=3#comments</comments>
		<pubDate>Sun, 20 Dec 2009 07:18:04 +0000</pubDate>
		<dc:creator>mjwon</dc:creator>
				<category><![CDATA[ActionScript3.0]]></category>
		<category><![CDATA[eas3.0]]></category>
		<category><![CDATA[colin moock]]></category>
		<category><![CDATA[essential actionscript]]></category>

		<guid isPermaLink="false">http://mjwon.com/wp/?p=3</guid>
		<description><![CDATA[앞으로 1장~19장까지 이 책의 핵심 내용들을 요약을 해놓을 예정이다.
어떤 부분은 그대로 옮겨놓을 것이고, 어떤 부분은 요약을 해놓을 것이고 내용상 필요하다면 예제 소스 코드를 첨부할 예정이다.
19장까지 정리되었을 때 내 스스로 액션스크립트에 대한 기본 개념이 잘 잡혀있으리라 확신한다.
]]></description>
			<content:encoded><![CDATA[<p>앞으로 1장~19장까지 이 책의 핵심 내용들을 요약을 해놓을 예정이다.</p>
<p>어떤 부분은 그대로 옮겨놓을 것이고, 어떤 부분은 요약을 해놓을 것이고 내용상 필요하다면 예제 소스 코드를 첨부할 예정이다.</p>
<p>19장까지 정리되었을 때 내 스스로 액션스크립트에 대한 기본 개념이 잘 잡혀있으리라 확신한다.</p>
]]></content:encoded>
			<wfw:commentRss>http://mjwon.com/wp/?feed=rss2&amp;p=3</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
